系统信息: centos 7.0 64bit
下载安装包
根据官网的教程,安装mysql的方法有多种,自己选用的是 Installing MySQL on Linux Using the MySQL Yum Repository
首先 community 版的下载页面找到 noarch.rpm 文件的下载链接:http://dev.mysql.com/downloads/repo/yum/
或者 使用命令:
wget http://repo.mysql.com//mysql57-community-release-el7-8.noarch.rpm
如果没安装 wget,需要使用命令安装下:
yum install wget
安装noarch.rpm
使用命令安装
rpm -ivh mysql-community-release-el7-5.noarch.rpm
安装完此包后,得到与 MySQL 有关的两个新的 yum repo, 查看:
ls -1 /etc/yum.repos.d/mysql-community*
返得
/etc/yum.repos.d/mysql-community.repo
/etc/yum.repos.d/mysql-community-source.repo
安装 MySQL Server
使用命令
yum install mysql-server
开启/停止/重启 MySQL Server
开启命令
systemctl start mysqld
or
service mysqld start
停止命令
systemctl stop mysqld
or
service mysqld stop
重启命令
systemctl restart mysqld
or
service mysqld restart
重设 MySQL root password
对于新安装的MySQL Server,root用户的密码是空的。
重设密码:
mysql -uroot -p
mysql>use mysql;
mysql>update user set password=PASSWORD("GIVE-NEW-ROOT-PASSWORD") where User='root';
mysql>flush privileges;
mysql>quit
可能出现的错误以及解决方法:
1, 如果使用命令 mysql -uroot -p 需要输入密码,而自己输入的密码又不对时:
1修改MySQL的登录设置:
vim /etc/my.cnf
在[mysqld]的段中加上一句:skip-grant-tables
例如:
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
skip-grant-tables
保存并且退出vim。
2 重新启动 mysql
service mysqld restart
3 登录并修改MySQL的root密码
mysql -u root
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3 to server version: 3.23.56
Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.
mysql> use mysql;
Database changed
mysql> update user set password = PASSWORD ( 'new-password' ) where user = 'root';
Query OK, 0 rows affected (0.00 sec)
Rows matched: 2 Changed: 0 Warnings: 0
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
mysql> quit
4.将MySQL的登录设置修改回来`
vim /etc/my.cnf
将刚才在[mysqld]的段中加上的skip-grant-tables删除或者加 # 注释,保存并且退出vim。
5.重新启动mysqld
service mysqld restart
…
…
在上面的修改秘密的过程中还可能出现以下问题错误
2, ERROR 1046 (3D000)
新建的mysql库中,有多个库。这个错误表示进入mysql后没有选择使用哪个库database;
解决办法:
mysql> use mysql
3, 1054 (42S22): Unknow error 1054
这个error发生在自己使用命令以下命令更改密码;
mysql> update user set password = PASSWORD ( 'new-password' ) where user = 'root';
解决办法:
使用以下命令代替上面的命令
mysql>update mysql.user set authentication_string=password('new-password') where user='root' and Host ='localhost';
以下是相应的截图
参考博客:
How to install MySQL Server 5.6 on CentOS 7 / RHEL 7
CentOS 如何修改mysql 用户root的密码