Centos7安装mysql5.7
- 下载musql5.7 YUM
wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm
- 安装mysql源
yum localinstall mysql57-community-release-el7-8.noarch.rpm
- 检查mysql源是否安装成功
yum repolist enabled | grep "mysql.*-community.*"
4. 安装MySQL
yum install mysql-community-server
- 启动mysql
systemctl start mysqld
- 查看MySQL的启动状态
systemctl status mysqld
- 开机启动mysql
systemctl enable mysqld
systemctl daemon-reload
- 修改root本地登录密码
mysql安装完成之后,在/var/log/mysqld.log文件中给root生成了一个默认密码。通过下面的方式找到root默认密码,然后登录mysql进行修改:
grep 'temporary password' /var/log/mysqld.log
mysql -uroot -p
set password for 'root'@'localhost'=password('123456');
**有部分mysql安装成功后无法使用分配密码登录:**
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
按以下步骤设置:
- 修改my.cnf 使用无密码登录
vim /etc/my.cnf
在[mysqld]后面任意一行添加“skip-grant-tables”用来跳过密码验证的过程,如下图所示:
同时修改密码策略,不使用mysql原有密码策略。原有的太复杂
validate_password = off
保存文档并退出:
#:wq
2. 重启mysql服务 service mysqld restart
3. 使用无密码登录 mysql -uroot -p
4. 修改root密码:注意以下sql都要执行!
update mysql.user set authentication_string=password('123456') where user='root';
flush privileges;
alter user 'root'@'localhost' identified by '123456';
flush privileges;
quit;
- 修改my.cnf 删除:无密码登录 skip-grant-tables
- 重启mysql
此时mysql可以正常使用
添加远程登录用户
默认只允许root帐户在本地登录,如果要在其它机器上连接mysql,必须修改root允许远程连接,或者添加一个允许远程连接的帐户,为了安全起见,我添加一个新的帐户:
create user haha identified by '123456'; //创建用户
grant all privileges on *.* to 'haha'@'%'identified by '123456' with grant option;//授权
flush privileges ;
- 修改防火墙,开放3306端口 参考阿里云服务器开放端口
- 测试连接
- 修改mysql字符集 utf-8
vim /etc/my.cnf
[mysqld]
character_set_server=utf8
init_connect='SET NAMES utf8'
- 重启mysql service mysqld restart
- 检查mysql字符集
mysql> show variables like '%character%';