centos7 安装mysql8
1.下载Mysql
去Mysql官网下载安装包,网址https://dev.mysql.com/downloads/mysql/
推荐大家下载Linux通用版本的,下载后将Mysql安装包上传至服务器/usr/local/目录下
2.创建Mysql用户和组
groupadd mysql #创建mysql组
useradd -r -d /home/mysql -g mysql mysql #创建mysql用户 并指定组和默认路径
mkdir /home/mysql
chown -R mysql:mysql /home/mysql #将Mysql默认路径的用户和组改成mysql
3.解压Mysql
tar -xvf mysql-8.0.11-linux-glibc2.12-x86_64.tar.gz #解压安装包
ln -s mysql-8.0.11-linux-glibc2.12-x86_64 mysql #文件夹添加软链接为mysql
chown -R mysql:mysql /usr/local/mysql
4.为Mysql安装配置环境
使用root用户编辑/etc/profile
vim /etc/profile
将下面的内容添加到最下面
export PATH=$PATH:/usr/local/mysql/bin
然后执行命令使配置生效
source /etc/profile
关闭SELinux,
vim /etc/selinux/config
将selinux=enforce改为disable即可
5.创建Mysql数据目录
mkdir /usr/local/mysql/data #创建数据目录
chown mysql:mysql /usr/local/mysql/data #将数据目录的用户和组改成mysql
chmod 750 /usr/local/mysql/data #更改数据目录权限
6.配置my.cnf文件
新建my.cnf配置文件
vim /etc/my.cnf
添加以下内容
[mysqld]
port=16033
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
log-error=/usr/local/mysql/data/error.log
socket=/tmp/mysql.sock
pid-file=/usr/local/mysql/data/mysql.pid
innodb_log_file_size=1G
default-storage-engine=INNODB
default_authentication_plugin=mysql_native_password
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
symbolic-links=0
max_connections=4000
innodb_file_per_table=1
lower_case_table_names=1
character-set-server=utf8
7.初始化Mysql
在mysql安装目录下,执行下面的命令初始化mysql,
bin/mysqld --initialize --user mysql
结束后查看/data/error.log,显示 initializing of server has completed就代表Mysql初始化成功了
8.启动Mysql
执行support-files/mysql.server start启动mysql,启动成功后可查看到mysql的进程
support-files/mysql.server start
9.查看root初始密码
通过查看/data/error.log获取Mysql的初始化密码
10.登录并修改修改root用户密码
mysql -u root -p
然后输入刚才看到的密码,即可登录
通过下面的语句可以修改root用户的密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '密码';
为远程登录创建用户,并赋权
CREATE USER 'root'@'%' IDENTIFIED BY '密码';
GRANT ALL ON *.* TO 'root'@'%';
FLUSH PRIVILEGES;
这样就可以通过navicat等工具进行远程连接了
11.配置mysql开机自启
首先将mysql.server 复制到/etc/init.d下面,如果ln过去也可以
cp support-files/mysql.server /etc/init.d/mysqld
通过chkconfig将mysql服务添加到开机启动的列表里面就可以了
chkconfig --add mysqld