linux 安装 mysql 5.6 rpm版本 完整版

2016-08-29 13:28:23来源:oschina作者:王小盼人点击

mysql 5.6 rpm 官方版本下载:


http://pan.baidu.com/s/1i51zRiX 提取码:zq76


--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


1:WinSCP 连接服务器 putty连接终端


上传下载的 MySQL-5.6.30-1.linux_glibc2.5.x86_64.rpm-bundle.tar 到服务器。


-------------------------------------------------------------------------------------------------------------------------------------


查看是否已存在mysql的其他版本、将其卸载


1:#rpm -qa | grep -i mysql


若有显示的mysql 版本 例如


mysql-libs-5.1.52-1.el6_0.1.i686


那么将其卸载


yum -y removemysql-libs-5.1.52-1.el6_0.1.i686


2:rpm -qa | grep -i mysql


如果显示:


MySQL-client-5.1.62-1.glibc23.i386 MySQL-server-5.1.62-1.glibc23.i386


卸载:


rpm -removemysql-libs-5.1.52-1.el6_0.1.i686


或者


rpm -e mysql-libs-5.1.52-1.el6_0.1.i686


-------------------------------------------------------------------------------------------------------------------------------------


执行命令:



得到三个rpm文件,分别为



执行:




安装server 和client 端


安装完成后在/usr/share/mysql目录中会有一个mysql的启动脚本mysql.server及示例配置文件等(如my-huge.cnf、my-large.cnf、my-medium.cnf)


启动mysql/etc/init.d/mysql start 或 service mysql start停止mysql/etc/init.d/mysql stop 或 service mysql stop


mysql安装好后目录结构如下:工具程序在/usr/bin目录中---ls /usr/bin/mysql*服务器程序/usr/sbin/mysqld数据目录/var/lib/mysql


-------------------------------------------------------------------------------------------------------------------------------------


2:至此安装完成、开始配置:


1:首先linux防火墙要开启3306端口号。以为mysql是用3306端口的。


执行: vi /etc/sysconfig/iptables


*一定要加载端口22的下面、加在别处无效、


-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT


防火墙开启其他端口号/都是这种方式。


service iptables restart 重启防火墙、OK!


-------------------------------------------------------------------------------------------------------------------------------------2:mysql 安装完毕后直接登陆


# mysql -uroot -p


此时可能存在登录不上的问题、因为你没有密码哈哈。


解决方案很多、这里提供一张通用解决方案、------- 安全模式下登陆mysql 、不用账号密码、然后进去更新root的帐号密码。


首先,关闭mysql


# service mysql stop


然后


# mysqld_safe --skip-grant-tables &


等待starting完毕、


在执行 # mysql -uroot -p


不用密码登入mysql


mysql>use mysql; mysql>update user set password=password("root") where user='root'; mysql>flush privileges; mysql>exit;


#service mysql restart


密码生效;


-------------------------------------------------------------------------------------------------------------------------------------


3:远程连接mysql、Navicat等工具连接的时候、就是远程连接、而不是登陆的账号密码了。


配置:


登陆mysql


mysql>use mysql; mysql>GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION; mysql>flush privileges; mysql>exit;



远程连接设置完成。


可能某些人会有远程连接的时候、连接速度会很慢才连接上。那么下面处理


# vi /etc/my.cnf


在配置文件中的mysqld下加入下面两行、就OK了。


[mysqld] skip-name-resolve skip-grant-tables

-------------------------------------------------------------------------------------------------------------------------------------


安装完成 重新连接数据库、设置远程连接的时候。use mysql 可能会报错 1:ERROR 1820 (HY000): You must SET PASSWORD before executing this statement 如果出现这个错误、那么只需要执行一句操作即可: mysql> SET PASSWORD = PASSWORD('123456'); Query OK, 0 rows affected (0.03 sec)


是不是很逗比?


删除 更新远程连接的账户名密码方法:


方法一:


用root用户登陆,然后:


grant all privileges on *.* to 创建的用户名 @"%" identified by "密码";


flush privileges; * 刷新刚才的内容*


格式:grant 权限 on 数据库名.表名 to 用户@登录主机 identified by "用户密码";


@ 后面是访问mysql的客户端IP地址(或是 主机名) % 代表任意的客户端,如果填写 localhost 为


本地访问(那此用户就不能远程访问该mysql数据库了)。


同时也可以为现有的用户设置是否具有远程访问权限。如下:


use mysql;


update db set host = ‘%’ where user = ‘用户名’; (如果写成 host=localhost 那此用户就不具有远程访问权限)


FLUSH PRIVILEGES;


GRANT ALL PRIVILEGES ON *.* TO ‘myuser’@'%' IDENTIFIED BY ‘mypassword’ WITH GRANT OPTION;


GRANT ALL PRIVILEGES ON *.* TO admin@localhost IDENTIFIED BY ‘password’ WITH GRANT OPTION GRANT ALL PRIVILEGES ON *.* TO admin@"%" IDENTIFIED BY ‘password’ WITH GRANT OPTION

撤权并删除用户 要取消一个用户的权限,使用REVOKE语句。REVOKE的语法非常类似于GRANT语句,除了TO用FROM取代并且没有INDETIFED BY和WITH GRANT OPTION子句: REVOKE privileges (columns) ON what FROM user user部分必须匹配原来GRANT语句的你想撤权的用户的user部分。privileges部分不需匹配,你可以用GRANT语句授权,然后用REVOKE语句只撤销部分权限。 REVOKE语句只删除权限,而不删除用户。即使你撤销了所有权限,在user表中的用户记录依然保留,这意味着用户仍然可以连接服务器。要完全删除一个用户,你必须用一条DELETE语句明确从user表中删除用户记录: use mysql; DELETE FROM user WHERE User=’user_name’ and Host=’host_name’; FLUSH PRIVILEGES; DELETE语句删除用户记录,而FLUSH语句告诉服务器重载授权表。(当你使用GRANT和REVOKE语句时,表自动重载,而你直接修改授权表时不是。)


----------------------------------------------------------------------------------------------------------------------------------


2:Starting MySQL. ERROR! The server quit without updating PID file


当出现这个错误的时候、就需要你重新初始化你的数据库权限等等。原因可能是之前在这台机器上有装过mysql、起了冲突?但是以下是能解决的方案


1):找到这几个文件与文件夹:


Mysql的初始化表的文件 mysql_install_db /usr/bin/mysql_install_db


my.conf /etc/my.conf若没有 请下载附件粘贴到目录


链接:http://pan.baidu.com/s/1c2yXKWw 密码:cw2a


mysql.sock/var/lib/mysql若没有请自行在目录下新建文件


2):初始化需要的环境


链接:http://pan.baidu.com/s/1pKQf0CF 密码:ldcu 安装libiao环境


执行:/usr/bin/下mysql_install_db --user=mysql


若报错


-bash: ./scripts/mysql_install_db: /usr/bin/perl: bad interpreter: No such file ordirectory


则需要安装 perl 环境 。安装命令:yum -y install perl perl-devel


继续执行初始化命令即可/usr/bin/下mysql_install_db --user=mysql


初始化完成后、启动mysql


-------------------------------------- 盻神


最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台