Linux安装MySQL(8.0)
Linux安装MySQL(8.0)
下载安装包,官网地址:http://dev.mysql.com/downloads/mysql/
将安装包上传至服务器并解压,eg:
tar -zxvf mysql-8.0.34-linux-glibc2.17-x86_64.tar.gz
将解压后的文件夹移动到/usr/local/mysql
路径下并重命名,eg:
mv mysql-8.0.34-linux-glibc2.17-x86_64 /usr/local/mysql
如果
/usr/local
路径下已经存在mysql
文件夹,则先将原来的mysql
文件夹重命名再执行mv
命令
创建 mysql 用户及用户组(如果不存在)
# 查看用户
cat /etc/passwd
# 查看用户所属用户组
id 用户名
# 创建 mysql 用户组
groupadd mysql
# 创建 mysql 用户并分配用户组
useradd -g mysql -m mysql
在/usr/local/mysql
路径下创建数据存储目录data
,eg:
mkdir /usr/local/mysql/data
# 授权
chown -R mysql:mysql /usr/local/mysql/
数据库初始化
# 进入 /usr/local/mysql/bin 目录
cd /usr/local/mysql/bin
# 初始化
./mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql --lower-case-table-names=1
MySQL8.0需要加上
--lower-case-table-names=1
,参考文档:https://blog.csdn.net/lizhengyu891231/article/details/123413142
执行初始化命令后系统会生成root
的临时密码,需要 记录下来,首次登录后会要求更改密码,eg:
A temporary password is generated for root@localhost: =>*gCoy6#f2I
调整 MySQL 文件夹的权限
mkdir -p /var/lib/mysql/
mkdir -p /var/log/mariadb/
chown -R mysql:mysql /var/log/mariadb/
chown -R mysql:mysql /var/lib/mysql/
修改 mysql 的配置文件/etc/my.cnf
[mysqld]
datadir=/usr/local/mysql/data
port=3306
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
symbolic-links=0
max_connections=600
innodb_file_per_table=1
lower_case_table_names=1
character_set_server=utf8
socket=/var/lib/mysql/mysql.sock
[mysqld_safe]
log-error=/var/log/mariadb/mariadb.log
pid-file=/var/run/mariadb/mariadb.pid
[mysql]
socket=/var/lib/mysql/mysql.sock
-
lower_case_table_names:是否区分大小写,1表示存储时表名为小写,操作时不区分大小写;0表示区分大小写;不能动态设置,修改后,必须重启才能生效
-
character_set_server:设置数据库默认字符集,如果不设置默认为 latin1
-
innodb_file_per_table:是否将每个表的数据单独存储,1表示单独存储;0表示关闭独立表空间,可以通过查看数据目录,查看文件结构的区别转换到用户 mysql 来执行启动 MySQL 服务
转换到用户 mysql 来执行启动 MySQL 服务,eg:
su mysql
cd /usr/local/mysql/support-files
./mysql.server start
返回Starting MySQL.. SUCCESS!
的话,就启动成功了
添加软链接并重启
ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
# 重启
service mysql restart
如果软链接已存在,则修改,eg:
ln -snf /usr/local/mysql/bin/mysql /usr/bin/mysql
启动/停止命令
service mysql start
service mysql stop
登录数据库并修改密码
mysql -hlocalhost -uroot -p
# 修改密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY "123456";
# 刷新
flush privileges;
设置开机自启
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
chkconfig --add mysqld
数据库授权,授权后才可以远程连接
CREATE USER 'root'@'%' IDENTIFIED BY '你的密码';
grant all privileges on *.* to 'root'@'%';
参考文档:https://blog.csdn.net/weixin_44161444/article/details/130347923