系统和MySQL更新换代都很快,我用到时会顺手整理在这里,内容没什么技术含量,也不保障内容的全和新。
每次遇到问题网上搜索一下很容易找到解决方法的。
我工作电脑用Widows+Ubuntu(WSL),服务器用CentOS,所以三个系统都安装过。
CentOS
1.安装
官方文档:https://dev.mysql.com/doc/refman/8.0/en/linux-installation-yum-repo.html
官方下载地址:https://dev.mysql.com/downloads/repo/yum/
具体操作:
1.1 选一个版本
如:mysql80-community-release-el8-1.noarch.rpm
1.2 下载mysql源
wget https://repo.mysql.com//mysql80-community-release-el8-1.noarch.rpm
1.3 安装mysql源
sudo yum localinstall mysql80-community-release-el8-1.noarch.rpm
1.4 安装mysql
sudo yum install mysql-community-server
如遇:
No match for argument: mysql-community-server
Error: Unable to find a match
则:
sudo yum module disable mysql
sudo yum install mysql-community-server
2.启动/停止/查看状态
service mysqld start #启动
mysqlservice mysqld stop #关闭
mysqlservice mysqld status #查看MySQL运行状态
3.设置/关闭自启动
systemctl enable mysqld #设置MySQL自启动
systemctl disable mysqld #关闭MySQL自启动
4.临时密码
mysql8默认在/var/log/mysqld.log中记录临时密码,可用grep搜索密码
sudo grep -R "password" /var/log/mysqld.log
5.进入mysql
mysql -u root -p
-u 表示选择登陆的用户名, -p表示登陆的用户密码,上面命令输入之后会提示输入密码。
6.修改密码
登录mysql后
ALTER USER 'root'@'localhost' IDENTIFIED WITH MYSQL_NATIVE_PASSWORD BY '你的密码';
可以在后面加上PASSWORD EXPIRE NEVER让密码永不过期。
ALTER USER 'root'@'localhost' IDENTIFIED WITH MYSQL_NATIVE_PASSWORD BY '你的密码' PASSWORD EXPIRE NEVER;
FLUSH PRIVILEGES; --刷新权限
7.允许远程访问
USE mysql;UPDATE user SET HOST = '%' WHERE user = 'root';
8.开放远程访问端口
打开3036端口
sudo firewall-cmd --zone=public --add-port=3036/tcp --permanent
更新防火墙规则
sudo firewall-cmd --reload
查询是否开启
firewall-cmd --list-ports
7.Navicat连接问题
Navicat连接如遇如下报错(如果上述操作都做了不会出此错误):
ERROR 1130: Host * is not allowed to connect to this MySQL server
未允许远程访问,参见上面“允许远程访问”操作。
Navicat连接如遇如下报错(如果上述操作都做了不会出此错误):
MySQL8 Authentication plugin ‘caching_sha2_password’ cannot be loaded
则需要把Authentication plugin ‘caching_sha2_password’ 改为 ‘mysql_native_password
ALTER USER 'root'@'%' IDENTIFIED WITH MYSQL_NATIVE_PASSWORD BY '你的密码';
FLUSH PRIVILEGES; --刷新权限
9.忘记密码
打开配置文件
vim /etc/my.cnf
在末尾添加一行:
skip-grant-tables
重启Mysql服务
service mysqld restart
直接登录
mysql -u root -p
修改密码
参见上方“修改密码”
10.卸载
查看安装情况
rpm -qa | grep -i mysql
mysql-common-8.0.21-1.module_el8.2.0+493+63b41e36.x86_64
mysql-8.0.21-1.module_el8.2.0+493+63b41e36.x86_64
卸载
根据安装时的方式,选用:
rpm -ev mysql-common-8.0.21-1.module_el8.2.0+493+63b41e36.x86_64
rpm -ev mysql-8.0.21-1.module_el8.2.0+493+63b41e36.x86_64
或
yum remove mysql-common-8.0.21-1.module_el8.2.0+493+63b41e36.x86_64
yum remove mysql-8.0.21-1.module_el8.2.0+493+63b41e36.x86_64
再查看一下
rpm -qa | grep -i mysql
如果为空,则都卸载完了。
查找目录
find / -name mysql
删除目录
rm -rf /var/lib/mysql
rm -rf /var/lib/mysql
rm -rf /usr/lib64/mysql
删除my.cnf
rm -rf /etc/my.cnf
删除log
rm -rf /var/log/mysqld.log
卸载完毕。
Ubuntu
1.下载
下载页面:https://dev.mysql.com/downloads/repo/apt/
wget https://dev.mysql.com/get/mysql-apt-config_0.8.15-1_all.deb
2.安装
sudo dpkg -i mysql-apt-config_0.8.15-1_all.deb
sudo apt update
sudo apt install mysql-server
sudo apt-get install mysql-client
sudo apt-get install libmysqlclient-dev
安装过程中会提示设置密码什么的,注意设置了不要忘了。
检查安装是否成功:
sudo netstat -tap | grep mysql
如看到有mysql的socket处于listen状态则表示安装成功。
Windows
1.下载
https://dev.mysql.com/downloads/
找到自己想要的版本,如
如8.0.3:https://dev.mysql.com/get/archives/mysql-8.0/mysql-8.0.3-rc-winx64.zip
2.解压
3.安装
3.1 启动cmd
以管理员身份运行,否则执行下一步会报错:Install/Remove of the Service Denied!
3.2 cd到mysql文件夹下的bin目录
如:cd \mysql-8.0.3-rc-winx64\bin
3.3 注册为windows系统服务
mysqld.exe install
MYSQL8.0.3Service successfully installed.
4.初始化
mysqld --initialize --user=mysql --console
未进行初始化就启动服务会报如下错误:
MYSQL8.0.3 服务正在启动 ..
MYSQL8.0.3 服务无法启动。
服务没有报告任何错误。
请键入 NET HELPMSG 3534 以获得更多的帮助。
初始化的过程中会产生临时密码,要记住。
5.启动服务
net start MYSQL8.0.3
MYSQL8.0.3 服务正在启动 ..
MYSQL8.0.3 服务已经启动成功。