在linux系统的下切换到/usr/local目录下创建mysql文件夹
#切换目录 cd /usr/local #创建文件夹 mkdir mysql
切换到刚创建的目录下,并使用wget 下载mysql压缩包
cd mysql
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz
解压文件并修改文件名字
tar xvJf mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz
修改文件指令:
mv mysql-8.0.20-linux-glibc2.12-x86_64 mysql-8.0.20
切换到mysql-8.0.20文件夹下,创建存储mysql数据的文件夹
#切换文件夹 cd mysql-8.0.20 #创建文件夹 mkdir data
创建用户组及用户
groupadd mysql useradd -g mysql mysql
授权用户
chown -R mysql.mysql /usr/local/mysql/mysql-8.0.20
切换到bin目录下并初始化基础信息
./mysqld --user=mysql --basedir=/usr/local/mysql/mysql-8.0.20 --datadir=/usr/local/mysql/mysql-8.0.20/data/ --initialize
**经过上述步骤之后,会获得一个临时密码,请拷贝并记录好,后续需要修改密码的时候会用到**
编辑my.cnf文件
没有这个文件的话 执行该命令会创建一个空文件。
vim /etc/my.cnf
在文件添加如下信息
#添加的内容: [mysqld] basedir=/usr/local/mysql/mysql-8.0.20/ datadir=/usr/local/mysql/mysql-8.0.20/data/ socket=/tmp/mysql.sock character-set-server=UTF8MB4 symbolic-links=0 #由于mysql8以上的版本会区分表名大小写,所以添加这个之后 不会区分大小写,可以避免很多问题 lower_case_table_names=1
添加mysqld服务到系统中(注意在mysql-8.0.20文件下执行)
cp -a ./support-files/mysql.server /etc/init.d/mysql
授权以及添加服务
chmod +x /etc/init.d/mysql chkconfig --add mysql
启动mysql并查看mysql运行状态
service mysql start service mysql status
将mysql命令添加到服务
ln -s /usr/local/mysql/mysql-8.0.20/bin/mysql /usr/bin
登录mysql
mysql -uroot -p 后面输入开始的时候复制的初始密码
修改root的初始密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'PASSWORD';
使修改的内容立即生效
flush privileges;
修改远程连接生效(比如使用Navicat链接)
show databases; #选择mysql库 use mysql; #更新远程连接生效 update user set host='%' where user='root'; #使设置立即生效 flush privileges;