CentOs 安装 mysql
环境
aliyun的CentOS7.3
操作步骤
1. 下载并安装MySQL官方的Yum Repository
1.1 使用下面的命令直接安装Yum Repository
//下载
[root@localhost ~]# wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
1.2 安装
//install 安装 ,-y 默认yes操作
[root@localhost ~]# yum -y install mysql57-community-release-el7-10.noarch.rpm
1.3 安装MySQL服务器
//install 安装 ,-y 默认yes操作
[root@localhost ~]# yum -y install mysql-community-server
1.4 关闭防火墙
查看 systemctl status firewalld
关闭 systemctl stop firewalld
2.MySQL数据库设置
2.1 启动MySQL
[root@localhost ~]# systemctl start mysqld.service
2.2 查看MySQL运行状态
[root@localhost ~]# systemctl status mysqld.service
2.3 此时MySQL已经开始正常运行,需要找出root的密码
[root@localhost ~]# grep "password" /var/log/mysqld.log
2.4 如下命令登录mysql
[root@localhost ~]# mysql -uroot -p
2.5 输入初始密码,此时不能做任何事情,因为MYSQL默认必须修改密码才能正常使用
### 8.0以前
mysql> update user set password=password('你的密码') where user='root' and host='localhost';
### 8.0 以后
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';
//这里会遇到一个问题,新密码设置过于简单会报错
2.6 可通过如下命令修改
mysql> set global validate_password_policy=0;
mysql> set global validate_password_length=1;
2.7 可通过如下命令查看完整的初始密码规则
mysql>show variables like 'validate_password';
2.8 还有一个问题就是Yum Repository,以后每次 yum 操作都会自动更新,需要把这个卸载掉
[root@localhost ~]# yum -y remove mysql57-community-release-el7-10.noarch
2.9 远程登录数据库出现下面出错信息
ERROR 2003 (HY000): Can’t connect to MySQL server on ‘xxx.xxx.xxx.xxx’,
(1)原因是没有授予相应的权限
//任何主机 用root/123456都可以远程连接
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
//指定主机 10.10.50.127用rene/654321可以远程连接
mysql>GRANT ALL PRIVILEGES ON *.* TO 'rene'@’10.10.50.127’ IDENTIFIED BY '654321' WITH GRANT OPTION;
//*.*表示 第一个*表示库(db),第二个*表示(tb)
// 然后刷新权限 mysql>flush privileges;
(2) 检查本机和服务器的防火墙
(3) 检查阿里云的安全设置
2.10 修改mysql数据库总的user表使相的用户能从某一主机登录
mysql>use mysql;
mysql>update user set host = '%' where user = 'root';
mysql>select host, user from user;
2.11 客户端提供MYSQL的环境,但是不支持中文,通过以下命令可以查看mysql的字符集
mysql>show variables like 'character_set%';
为了让 MySQL支持中文,需要把字符集改成UTF-8,方法如下
[root@localhost ~]# vim /etc/my.cnf
改成如下内容
[client]
port=3306
socket=/var/lib/mysql/mysql.sock
default-character-set=utf8
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
symbolic-links=0
character-set-server=utf8
[mysql]
no-auto-rehash
default-character-set=utf8
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
2.12 重启mysql服务
[root@localhost ~]# service mysqld restart
2.13 重新查看数据库编码
mysql>show variables like 'character_set%';