标签 - mysql 共找到结果 2 条

之前记录过怎么使用yum安装mysql5.6:CentOS7 yum安装mysql5.6,由于某些原因需要升级mysql版本,

卸载旧版本mysql

当然要记得备份数据库数据

1.查看需要卸载的部分:

rpm -qa |grep -i mysql

2.开始卸载:

yum remove mysql-community-release mysql-community-server mysql-community-common mysql-community-libs mysql-community-client

3.清理文件:

find / -name mysql

接下来是安装新版mysql

1.下载并安装源:

wget http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm
yum localinstall mysql57-community-release-el7-7.noarch.rpm

2.开始安装:

yum install -y mysql-server

3.安装完成并确认版本:

mysql --version

4.接下来就去恢复数据库数据吧.

遇到的问题

  • 1.MySQL 5.7 在初始安装后(CentOS7 操作系统)会生成随机初始密码,并在 /var/log/mysqld.log 中有记录,可以通过 cat 命令查看,找 password 关键字
grep 'temporary password' /var/log/mysqld.log

不过使用该临时密码登录的时候却出错了.

解决办法:

1.修改 /etc/my.cnf,在 [mysqld] 小节下添加一行:skip-grant-tables=1 这一行配置让 mysqld 启动时不对密码进行验证
2.重启 mysqld 服务:systemctl restart mysqld
3.使用 root 用户登录到 mysql:mysql -u root
4.`切换到mysql数据库,更新user表:
update user set authentication_string = password('新密码'), password_expired = 'N', password_last_changed = now() where user = 'root';
5.退出 mysql,编辑/etc/my.cnf文件,删除skip-grant-tables=1的内容并重启mysqld服务
  • 2.mysql远程连接1130问题可参考之前的文章: CentOS7 yum安装mysql5.6

  • 3.新增用户提示:ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

解决办法:

这个其实与validate_password_policy的值有关。 默认是1,即MEDIUM,所以刚开始设置的密码必须符合长度,且必须含有数字,小写或大写字母,特殊字符。 所以只需要修改值为0:

set global validate_password_policy=0;

再次尝试新建用户即可;

参考地址:

阅读全文

1. 下载yum的repo源并安装,执行安装后,在/etc/yum.repos.d/这个目录下多出mysql-community-source.repomysql-community.repo:

# Centos6.5:
wget http://repo.mysql.com/mysql-community-release-el6-5.noarch.rpm
rpm -ivh mysql-community-release-el6-5.noarch.rpm
 
# Centos7:
wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
rpm -ivh mysql-community-release-el7-5.noarch.rpm

2. 用yum repolist mysql 查看是否已经有mysql可安装文件:

yum repolist all | grep mysql

3. 安装mysql服务:

yum install mysql-community-server

4. 安装成功后,启动mysql服务:

systemctl start mysqld

5. mysql安装后密码默认为空,需要修改密码:

mysql -u root
use mysql;
update user set password=PASSWORD("这里输入root用户密码") where User='root';
flush privileges; 

6. 设置mysql服务自启动:

systemctl enable mysqld

7. mysql安全问题:

mysql_secure_installation
 
Enter current password for root (enter for none): <- 初次运行直接回车
Set root password? [Y/n] <– 是否设置root用户密码,输入y并回车或直接回车
Remove anonymous users? [Y/n] <– 是否删除匿名用户,生产环境建议删除,所以直接回车
Disallow root login remotely? [Y/n] <–是否禁止root远程登录,根据自己的需求选择Y/n并回车
Remove test database and access to it? [Y/n] <– 是否删除test数据库,直接回车
Reload privilege tables now? [Y/n] <– 是否重新加载权限表,直接回车

8.本地远程连接可能会出现1130错误,需要设置root的'host'为'%':

# 以权限用户root登录
mysql -u root -p
 
# 选择mysql库
use mysql; 
 
# 查看mysql库中的user表的host值
select 'host' from user where user='root'; 
 
# 修改host值,如果这步出错'ERROR 1062 (23000): Duplicate entry `%-root` for key `PRIMARY`'说明该记录有了
update user set host = '%' where user ='root'; 
 
# 刷新mysql的系统权限相关表
flush privileges; 
 
# 再重新查看user表
select 'host' from user where user='root';

9. 重启mysql服务:

systemctl restart mysqld;

参考文章

  1. linux CentOS6.5 yum安装mysql 5.6

阅读全文