MySQL5.7安装(glibc和源码两种方式)


一、下载MySQL

官网下载:MySQL :: Download MySQL Community Server

glibc包:mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz

源码包:mysql-boost-5.7.31.tar.gz(下载包含boost库的包,方便安装)


二、安装glibc包


1.安装

yum install libaio -y    # 安装依赖库

tar -xf mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz    # 解压

useradd -r -s /sbin/nologin mysql    # 创建无法登陆的mysql用户

rm -rf /etc/my.cnf    # 删除配置文件,这是mariadb的预留配置文件,不删除会导致mysql初始化失败

mv mysql-5.7.31-linux-glibc2.12-x86_64 /mysql_3306    # 这是自定义目录,官方指定目录是/usr/local

cd /mysql_3306

mkdir mysql-files    # 官方要求创建

chown mysql:mysql mysql-files

chmod 750 mysql-files

bin/mysqld --initialize --user=mysql --basedir=/mysql_3306    # 初始化,运行完成后,注意最后一行的随机密码,这是root用户的密码。初始化成功标志是mysql目录下生成 ./data/mysql

bin/mysql_ssl_rsa_setup --datadir=/mysql_3306/data    # 设置SSL加密连接

cp support-files/mysql.server /etc/init.d/mysql_3306    # 将启动文件复制到/etc/init.d/,这样可以使用service启动mysql

vim /etc/init.d/mysql_3306    # 自定义目录需要修改文件里的路径,官方指定目录则无需修改
    46 basedir=/mysql_3306
    47 datadir=/mysql_3306/data

service mysql_3306 start    # 启动mysql,启动时的文件名要与/etc/init.d/下的文件名相同

chkconfig --add mysql_3306    # 添加自启动

chkconfig mysql_3306 on    # 把2345四种模式开启


2.配置

2.1 修改root账号密码

方法一:
/mysql_3306/bin/mysqladmin -uroot password '123456' -p    # 回车,然后输入初始化产生的随机密码


方法二:
/mysql_3306/bin/mysql -uroot -p随机密码    # 进入mysql

mysql> set password='123456';    # 设置密码
mysql> flush privielges;    # 刷新权限生效

2.2 添加到环境变量

echo 'export PATH=$PATH:/mysql_3306/bin' >> /etc/profile

source /etc/profile    # 使配置文件生效

2.3 编写mysql的配置文件

vim /mysql_3306/my.cnf
    [mysqld]
    basedir=/mysql_3306
    datadir=/mysql_3306/data
    socket=/tmp/mysql.sock

service mysql_3306 restart    # 修改完配置文件,记得重启服务

2.4 安全配置

mysql_secure_installation    # 全都选Y

三、安装源码包

1.安装

yum -y install cmake libaio-devel openssl-devel gcc gcc-c++ ncurses ncurses-devel bison    # 安装依赖包

tar -xf mysql-boost-5.7.31.tar.gz

cd mysql-5.7.31

vim myconfig.sh    # 在脚本文件里执行配置,好处是不会遗漏,方便检查
    cmake . \
    -DCMAKE_INSTALL_PREFIX=/mysql_3307 \
    -DMYSQL_DATADIR=/mysql_3307/data \
    -DMYSQL_TCP_PORT=3307 \
    -DMYSQL_UNIX_ADDR=/mysql_3307/mysql.sock \
    -DWITH_INNOBASE_STORAGE_ENGINE=1 \
    -DWITH_PARTITION_STORAGE_ENGINE=1 \
    -DWITH_FEDERATED_STORAGE_ENGINE=1 \
    -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
    -DWITH_MYISAM_STORAGE_ENGINE=1 \
    -DENABLED_LOCAL_INFILE=1 \
    -DEXTRA_CHARSETS=all \
    -DDEFAULT_CHARSET=utf8mb4 \
    -DDEFAULT_COLLATION=utf8mb4_general_ci \
    -DWITH_SSL=system \
    -DWITH_BOOST=boost

chmod +x myconfig.sh    # 加执行权限

./myconfig.sh    # 执行脚本

make -j2 && make install    # 编译安装,-j后的数字表示CPU核数,可以并行编译


编译出错处理方法:
rm -f CMakeCache.txt
make -j2 && make install

 

2.初始化

cd /mysql_3307    # 安装时自定义的安装目录

mkdir mysql-files    # 官方要求

chown -R mysql:mysql /mysql_3307    # 使mysql用户对/mysql_3307里的文件拥有修改权限

chmod 750 mysql-files

bin/mysqld --initialize --user=mysql --basedir=/mysql_3307 --datadir=/mysql_3307/data    # 初始化,注意最后产生的随机密码

cp support-files/mysql.server /etc/init.d/mysql_3307    # 可以用service启动mysql

service mysql_3307 start    # 注意服务名称要与/etc/init.d/下的文件名一致

chkconfig --add mysql_3307    # 添加开机自启动

chkconfig mysql_3307 on    # 开启2345四种模式

 

3.配置

vim /mysql_3307/my.cnf    # 编写配置文件
    [mysqld]
    basedir=/mysql_3307
    datadir=/mysql_3307/data
    socket=/mysql_3307/mysql.sock

service mysql_3307 restart    # 修改完配置文件,记得重启

/mysql_3307/bin/mysqladmin -uroot password '123' -p    # 输入随机密码后,修改root账号密码

/mysql_3307/bin/mysql_secure_installation    # 安全设置,都选Y

 

四、忘记密码怎么办?(采用跳过授权表的方法)

mysqladmin shutdown -p    # 关闭数据库

/mysql_3306/bin/mysqld --defaults-file=/mysql_3306/my.cnf --skip-grant-tables --skip-networking=on  --user=mysql &    # 跳过授权表启动

mysql -uroot -p    # 不用输密码,直接回车

mysql> flush privileges;    # 刷新授权表,这一步千万不能少

mysql> alter user 'root'@'localhost' identified by '123';    # 修改密码


mysql> UPDATE mysql.user SET authentication_string = PASSWORD('MyNewPass') WHERE User = 'root' AND Host = 'localhost';    # 如果上一条修改密码不成功,则使用这条命令

mysql> FLUSH PRIVILEGES;    # 修改完密码记得刷新权限


jobs    # 查看后台进程

kill %1    # 结束后台的mysqld进程

service mysql_3306 start    # 重启服务

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值