CentOS 安装 mysql 5.6
一、下载官方的rpm包
1 wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
二、安装rpm包
1 rpm -ivh mysql-community-release-el7-5.noarch.rpm
三、安装mysql
1 yum -y install mysql-server
然后检查是否安装成功
1 rpm -qa|grep mysql
安装成功
四、重置mysql密码
安装完之后需要重置密码,此时登入应该会报错
1 mysql -u root
cd /var/lib/
是因为权限问题,此时使用ll命令可以看到,创建者和用户组都是“mysql”
将创建者修改为当前用户即可
1 chown -R root mysql
修改完之后重启mysql服务,不然还是会报错无法登入
1 service mysqld restart
登入mysql重置密码
1 mysql -u root -p 2 3 mysql > use mysql; 4 mysql > update user set password=password('qq1234') where user='root'; 5 mysql > exit;
再次重启mysql
1 service mysqld restart
五、开放数据库3306端口
centos7默认防火墙是Firewall,使用以下命令检查状态以及端口
1 firewall-cmd --state 3 firewall-cmd --list-ports
开放端口并重启防火墙
1 firewall-cmd --zone=public --add-port=3306/tcp --permanent 2 3 firewall-cmd --reload
其中zone是作用域,permanent是“永久生效”,不使用这个参数,重启后端口会关闭
六、匿名用户的删除
新安装的mysql默认是有匿名用户的,在本机输入任意用户名都可以登录,只不过不可以访问mysql库,为了提高安全性,应当删掉匿名用户
以root身份登录mysql之后,使用以下命令删除,并刷新权限或重启mysql令设置生效
1 delete from mysql.user where user=''; 2 flush privileges;
生效后,
七、mysql编码的修改
登入mysql后使用以下语句查看编码是否都为utf-8,安装MySQL数据库时的默认编码是latin1,不修改的话数据内有中文可能会出现乱码情况
show variables like '%char%';
修改mysql配置文件,路径一般为 /etc/my.cnf,新增如下属性,保存后重启mysql服务器即可
八,数据库的远程登入
开放端口之后还需要开放登入权限,不然使用远程软件登入mysql时报错,会提示被拒绝
在服务器端登入mysql之后输入以下命令,(任何机器都能使用root用户身份登陆远程数据库)
1 use mysql; 2 update user set host ='%' where user ='root';
输入完最后一句可能会报错 ERROR 1062 (23000): Duplicate entry '%-root' for key 'PRIMARY',(host里已经有%这个值)不用管,刷新数据库权限
1 flush privileges;
重新连接,成功登入
九、关于chown和mysql远程登入
1、chown(更改文件拥有者以及用户组):chown 用户名:组名 文件或目录
只输入一个参数为修改用户,不修改用户组
-R:递归授权
例:chown mysql:mysql tomcat8
2、mysql的另一种授权方式
用户user使用password从任何主机连接到mysql
1 GRANT ALL PRIVILEGES ON *.* TO 'user'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
用户user使用password从指定主机连接到mysql
1 GRANT ALL PRIVILEGES ON *.* TO 'user'@'192.168.0.1' IDENTIFIED BY 'password' WITH GRANT OPTION;
最终使用
1 flush privileges;