linux系统下mysql的安装
一、mysql5.7源码安装
创建用户
添加用户和组
[[email protected] ~]# groupadd mysql
[[email protected] ~]# useradd -M -s /sbin/nologin -r -g mysql mysql
[[email protected] opt]# mkdir -p /usr/local/mysql/data
mkdir -p /home/data/mysql57/data
mkdir -p /home/data/mysql57/log
[[email protected] ~]# chown -R mysql:mysql ./
编译安装 进入目录
[[email protected] mysql-5.7.24]#
cmake -DCMAKE_INSTALL_PREFIX=/home/data/mysql57
-DMYSQL_DATADIR=/home/data/mysql57/data
-DSYSCONFDIR=/etc
-DWITH_MYISAM_STORAGE_ENGINE=1
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_MEMORY_STORAGE_ENGINE=1
-DWITH_READLINE=1
-DMYSQL_UNIX_ADDR=/home/data/mysql57/mysql.sock
-DMYSQL_TCP_PORT=3307
-DENABLED_LOCAL_INFILE=1
-DWITH_PARTITION_STORAGE_ENGINE=1
-DEXTRA_CHARSETS=all
-DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=utf8_general_ci
-DDOWNLOAD_BOOST=1
-DWITH_BOOST=/usr/local/src/mysql-5.7.24/boost/boost_1_59_0
编辑配置文件
[[email protected] ~]#vim /etc/my.cnf
[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
port=3306
socket=/usr/local/mysql/mysql.sock
character-set-server=utf8
log-error=/usr/local/mysql/log/mysqld.log
pid-file=/tmp/mysqld.pid
环境变量
vim /etc/profile
export PATH=/home/data/mysql57/bin:$PATH
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
chown -R mysql:mysql /usr/local/mysql
初始化数据库
[[email protected] ~]#
/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
grep password /usr/local/mysql/log/mysqld.log
二、MySQL5.7 yum在线安装
官网找下载地址
下载mysql的repo源
[[email protected] ~]# cd /usr/local/src/
[[email protected] src]# wget http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm
[[email protected] src]# rpm -ivh mysql57-community-release-el7-8.noarch.rpm
[[email protected] src]# yum -y install mysql-server
默认配置文件路径:
配置文件:/etc/my.cnf
日志文件:/var/log/var/log/mysqld.log
服务启动脚本:/usr/lib/systemd/system/mysqld.service
socket文件:/var/run/mysqld/mysqld.pid
配置 my.cnf vim /etc/my.cnf
不过安装完成后,密码为随机密码,需要重置密码。
启动mysql服务 service mysqld restart
重置密码
重置密码 步骤 如下
1.修改 /etc/my.cnf配置文件,在 [mysqld]下添加一行:skip-grant-tables=1
这一行配置让 mysqld 启动时不对密码进行验证
2.重启 mysqld 服务:systemctl restart mysqld
3.使用 root 用户登录到 mysql:mysql -u root
4.切换到mysql数据库(use mysql),更新 user 表:
update user set authentication_string = password(‘root’), password_expired = ‘N’, password_last_changed = now() where user = ‘root’;
在之前的版本中,密码字段的字段名是 password,5.7版本改为了 authentication_string
5、退出 mysql,编辑 /etc/my.cnf 配置文件,删除 skip-grant-tables=1 这一行
6、systemctl restart mysqld 重启mysqld服务,再用新密码登录即可