Linux环境下安装MySQL
此文基于VM,centos736,mysql5.7.24,最好使用root用户直接登陆虚拟机
默认虚拟机之前没有安装过mysql,安装过的需先卸载,具体自行百度
如果是下载好mysql安装包在上传至linux虚拟机的,最好不要采用直接拖到虚拟机中的操作,可能会导致安装包损坏,具体原因没搞懂
准备工作
删除mysql相关文件
查询所有Mysql对应的文件夹,查询出的文件可能不同
[root@localhost /]# whereis mysql
mysql: /usr/bin/mysql /usr/include/mysql
[root@localhost lib]# find / -name mysql
/data/mysql
/data/mysql/mysql --data目录下的最好删除,后面会新建目录使用,别的影响不大,自行选择
删除
[root@localhost /]# rm -rf /usr/bin/mysql /usr/include/mysql /data/mysql /data/mysql/mysql
开始安装
-
解压压缩包
我是将压缩包先上传到了linux虚拟机的/tmp目录下,要注意解压是否成功
tar -xvf mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz
然后需要将解压后的文件移动到指定目录(/usr/local/)下,并修改文件名为mysql
mv mysql-5.7.24-linux-glibc2.12-x86_64 /usr/local/mysql
2.检查mysql用户组和用户是否存在,并修改权限,如果没有,则创建
//检查,可忽略
[root@localhost ~]# cat /etc/group | grep mysql
[root@localhost ~]# cat /etc/passwd |grep mysql
//创建
[root@localhost ~]# groupadd mysql
//修改权限
[root@localhost ~]# useradd -r -g mysql mysql
3.在**/usr/local/mysql**目录下创建data目录并赋予权限
[root@localhost local]# mkdir -p /data/mysql
[root@localhost local]# chown mysql:mysql -R /data/mysql
4.配置my.cnf
vim /etc/my.cnf
[mysqld]
datadir=/data/mysql
basedir=/usr/local/mysql
port=3306
socket=/var/lib/mysql/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
socket=/tmp/mysql.sock
max_connections=600
innodb_file_per_table=1
lower_case_table_names=1
explicit_defaults_for_timestamp=true
character_set_server=utf8mb4
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd
[mysqld_safe]
log-error=/data/mysql/mysql.err
pid-file=/data/mysql/mysql.pid
//lower_case_table_names:是否区分大小写,1表示存储时表名为小写,操作时不区分大小写;0表示区分大小写;不能动态设置,修改后,必须重启才能生效:
//character_set_server:设置数据库默认字符集,如果不设置默认为latin1
//innodb_file_per_table:是否将每个表的数据单独存储,1表示单独存储;0表示关闭独立表空间,可以通过查看数据目录,查看文件结构的区别;
初始化数据库
进入mysql的bin目录
cd /usr/local/mysql/bin/
./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/data/mysql/ --user=mysql --initialize
圈出的是mysql初始密码
启动mysql并修改root密码
先将mysql.server放置到/etc/init.d/mysql中
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
启动mysql
service mysql start
修改密码
./mysql -u root -p #bin目录下
在按顺序执行一下操作
SET PASSWORD = PASSWORD(‘123456’);
ALTER USER ‘root’@‘localhost’ PASSWORD EXPIRE NEVER;
FLUSH PRIVILEGES;
开放远程连接
use mysql #访问mysql库
update user set host = ‘%’ where user = ‘root’; #使root能再任何host访问
FLUSH PRIVILEGES; #刷新
如果不希望每次都到bin目录下使用mysql命令则执行以下命令
ln -s /usr/local/mysql/bin/mysql /usr/bin
设置服务开机自启
1、将服务文件拷贝到init.d下,并重命名为mysql//上面执行过就忽略这一步 [root@localhost ~]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql 2、赋予可执行权限 [root@localhost ~]# chmod +x /etc/init.d/mysql 3、添加服务 [root@localhost ~]# chkconfig --add mysql 4、显示服务列表 [root@localhost ~]# chkconfig --list