本人安装:mysql8.0.22
目录
- 一、 官网下载mysql:
- 二、安装
- 1. 下载、上传、解压安装包:
- 2. 将解压的文件移动到/usr/local下,并重命名为mysql
- 3. 进入/usr/local/mysql目录下,创建data文件夹,并授权
- 4. 初始化数据库,并会自动生成随机密码,记下等下登陆要用
- 5. 在 /usr/local/mysql/support-files目录下用touch my-default.cnf命令创建一个,并配置权限:
- 6. 配置my.cnf:
- 7. 开机自启,进入/usr/local/mysql/support-files进行设置:
- 8. 注册服务并检测:
- 9. etc/ld.so.conf要配置路径,不然报错:
- 10. 配置环境变量:
- 11. 登陆,修改密码:
- 12. 开启Navicat远程连接:
一、 官网下载mysql:
1. 下载地址:
下载地址: https://dev.mysql.com/downloads/mysql/.
2. 检测是否安装过mysql:
# 检测是否安装过mysql
rpm -qa | grep mysql
# 删除命令
rpm -e --nodeps mysql-libs-5.1.73-5.el6_6.x86_64
3. 查询所有Mysql对应的文件夹(删除):
whereis mysql
rm -rf /usr/lib64/mysql /usr/share/mysql
find / -name mysql
rm -rf /etc/selinux/targeted/active/modules/100/mysql
4. 检查mysql用户组和用户是否存在,如果没有,则创建:
cat /etc/group | grep mysql
cat /etc/passwd |grep mysql
groupadd mysql
useradd -r -g mysql mysql
二、安装
1. 下载、上传、解压安装包:
官网下载,xftp上传到一个目录,如/opt目录下 ,或者上传到/usr/local下,直接解压:
先cd 去到压缩包所在的目录cd /usr/local,然后用命令解压:
解压命令: tar.xz:tar xvJf ***.tar.xz
比如:tar xvJf mysql-8.0.22-linux-glibc2.12-x86_64.tar.xz
或者这样 解压:
tar -xvf mysql-8.0.22-linux-glibc2.12-x86_64.tar.xz
2. 将解压的文件移动到/usr/local下,并重命名为mysql
# 移动位置并重命名:
mv /mysql-8.0.22-linux-glibc2.12-x86_64 /usr/local/mysql
如果我们本身就在local目录下,则同一个目录下mv是改文件夹名:
mv mysql-8.0.22-linux-glibc2.12-x86_64 mysql
3. 进入/usr/local/mysql目录下,创建data文件夹,并授权
cd /usr/local/mysql/
# 创建文件夹
mkdir data
# 给文件夹授权
chown -R root:root /usr/local/mysql
# 给文件夹授权
chown -R mysql:mysql /usr/local/mysql/data/
先安装一些必备的文件和工具:
先检查该链接库文件有没有安装使用,命令进行核查。
并安装文件,安装完成之后重新初始化,输入y回车即可安装
# 检测命令
rpm -qa|grep libaio
#
yum install libaio-devel.x86_64
#
yum -y install numactl
4. 初始化数据库,并会自动生成随机密码,记下等下登陆要用
# 初始化数据库,mysql的bin目录下的mysqld命令
/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
临时密码:root@localhost:后面的那串代码
w:jzrLjz-3.l
5. 在 /usr/local/mysql/support-files目录下用touch my-default.cnf命令创建一个,并配置权限:
chmod 777 ./my-default.cnf
然后使用以下命令复制过去,其实也就是空白页:
cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf
6. 配置my.cnf:
vi /etc/my.cnf
然后将整个文件复制过去到my.cnf,注意复制完毕后检查文件是否完好。此处会复制不完整的
[mysqld]
# These are commonly set, remove the # and set as required.
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
socket = /tmp/mysql.sock
log-error = /usr/local/mysql/data/error.log
pid-file = /usr/local/mysql/data/mysql.pid
port = 3306
#lower_case_table_names = 1
# server_id = .....
# socket = .....
#lower_case_table_names = 1
max_allowed_packet=32M
default-authentication-plugin = mysql_native_password
#lower_case_file_system = on
#lower_case_table_names = 1
log_bin_trust_function_creators = ON
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
如果后期mysql运行报错,可以直接到log-error = /usr/local/mysql/data/error.log目录下直接查看错误日志
命令:cat /usr/local/mysql/data/error.log
7. 开机自启,进入/usr/local/mysql/support-files进行设置:
cd /usr/local/mysql/support-files
cp mysql.server /etc/init.d/mysql
chmod +x /etc/init.d/mysql
8. 注册服务并检测:
注册:
chkconfig --add mysql
如果命令没有,在需要处理chkconfig:
rpm -aq |grep chkconfig
export PATH=/sbin:$PATH
chkconfig
echo $PATH
PATH="$PATH":/sbin
echo $PATH
检测:
chkconfig --list mysql
9. etc/ld.so.conf要配置路径,不然报错:
vim /etc/ld.so.conf
# 添加如下内容:
/usr/local/mysql/lib
10. 配置环境变量:
配置环境变量:vim /etc/profile
添加如下内容,全部复制过去即可:
# 添加如下内容
# MYSQL ENVIRONMENT
export PATH=$PATH:/usr/local/mysql/bin:/usr/local/mysql/lib
保存 退出后,使用如下命令 ,系统重新加载文件,记得一定要
source /etc/profile
11. 登陆,修改密码:
密码:第4步初始化数据库随机生成得密码,输入密码不显示。
修改密码:alter user ‘root’@‘localhost’ identified by ‘新密码’;
[root@VM_0_3_centos support-files]# service mysql start
Starting MySQL.. SUCCESS!
[root@VM_0_3_centos support-files]# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 82
Server version: 8.0.20
Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
#修改mysql密码:
mysql> alter user 'root'@'localhost' identified by 'kid+1412';
Query OK, 0 rows affected (0.01 sec)
mysql>
问题解决:
如果出现mysqld_safe A mysqld process already exists:则杀掉mysql进程重新启动:
ps aux |grep mysqld
kill -9 进程号
然后重新启动mysql服务。
查看MySQL服务是否启动:systemctl status mysql
停止服务:systemctl stop mysql
12. 开启Navicat远程连接:
# 登录
[root@VM_0_3_centos support-files]# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2582
Server version: 8.0.20 MySQL Community Server - GPL
Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
# 选择mysql数据库
mysql> use mysql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
# 查看用户信息
mysql> select host, user, authentication_string, plugin from user;
+-----------+------------------+------------------------------------------------------------------------+-----------------------+
| host | user | authentication_string | plugin |
+-----------+------------------+------------------------------------------------------------------------+-----------------------+
| localhost | mysql.infoschema | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password |
| localhost | mysql.session | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password |
| localhost | mysql.sys | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password |
| localhost | root | $A$005$=!..iRO=k:x_>qiFtXTYJmwgur/2pJH1mfk26FBL.1YZOC.YcBw8auuFFM0 | caching_sha2_password |
+-----------+------------------+------------------------------------------------------------------------+-----------------------+
4 rows in set (0.00 sec)
# 更新root信息
mysql> update user set host = '%' where user = 'root';
Query OK, 1 row affected (0.02 sec)
Rows matched: 1 Changed: 1 Warnings: 0
# 授权root用户可以远程登陆,失败
mysql> GRANT ALL ON *.* TO 'root'@'%';
ERROR 1410 (42000): You are not allowed to create a user with GRANT
# 立即生效,重新授权
mysql> flush privileges;
Query OK, 0 rows affected (0.02 sec)
# 授权root用户可以远程登陆
mysql> GRANT ALL ON *.* TO 'root'@'%';
Query OK, 0 rows affected (0.02 sec)
# 立即生效
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
#
mysql> alter user 'root'@'%' identified with mysql_native_password by 'kid+1412';
Query OK, 0 rows affected (0.01 sec)
# 立即生效
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
# 退出
mysql> exit
Bye