一、为什么需要手动安装MySQL?
- 熟悉手动安装后,配置多实例比较方便。
- 最主要的原因:有意思,总会遇到奇怪的问题,增加自己对mysql的相关经验。狠狠的皮,不怕搞坏就怕不搞。手动配置的mysql,在删除的时候去掉自己创建的data目录基本就删了绝大部分内容。
二、手动安装MySQL实战演练!
1.下载Mysql安装包
下载地址:https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz
2.将安装包传到服务器的/usr/local中
mac上传安装包:
1.打开MAC终端
2.scp mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz root@xx.xx.xx.xx:/usr/local/mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz
windows上传安装包:
1.使用远程链接工具登陆到机器上
2.yum -y install lrzsz
3.cd /usr/local
4.rz
5.选择文件并等待上传
3.安装依赖
yum install libaio
yum -y install numactl
4.Mysql用户组和用户创建
groupadd mysql
useradd -r -g mysql mysql
5.解压Mysql安装包
cd /usr/local
tar -zxvf mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz
6.创建软连接
ln -s /usr/local/mysql-5.7.30-linux-glibc2.12-x86_64 mysql
7.进入Mysql文件夹做一些设置
****mysql 是刚刚创建的软连接****
cd mysql
mkdir mysql-files
chmod 770 mysql-files/
chown -R mysql .
chgrp -R mysql .
8.mysql初始化
./bin/mysqld --initialize --user=mysql
****记录下来****
2020-07-07T08:21:18.354193Z 1 [Note] A temporary password is generated for root@localhost: Oqtfw/l?m8+)
密码是:Oqtfw/l?m8+
9.其他的设置
./bin/mysql_ssl_rsa_setup
chown -R root .
mkdir data
chown -R mysql data mysql-files
****会报错****
bin/mysqld_safe --user=mysql &
****错误的原因是下面指令执行完输出的文件中,我们要砍掉/etc/my.cnf****
/usr/local/mysql/bin/mysqld --verbose --help | grep -A 1 'Default options'
10.修改Mysql权限配置
把这个文件搞掉
mv /etc/my.cnf /etc/my.cnfbak
****重新走一遍流程****
./bin/mysqld --initialize --user=mysql
./bin/mysql_ssl_rsa_setup
chown -R root .
chown -R mysql data mysql-files
****记录下新的密码****
2020-07-07T09:29:30.576002Z 1 [Note] A temporary password is generated for root@localhost: ?qu>6joFCkyi
****再次执行,则不会报错了****
bin/mysqld_safe --user=mysql &
11.配置开机启动
****把mysql目录下的support-files生成的mysql.server复制到/etc/init.d/的目录下,开机自启动。****
cp support-files/mysql.server /etc/init.d/mysql.server
chkconfig --list
chkconfig mysql.server on
chkconfig --list
12.配置环境变量,设置root新密码,赋予root全部权限。
vi /etc/profile
文件末尾加上如下内容
MYSQL_HOME=/usr/local/mysql
PATH=$MYSQL_HOME/bin:$PATH
export PATH MYSQL_HOME
将新的配置生效
source /etc/profile
操作登陆mysql进行设置
- mysql -uroot -p'?qu>6joFCkyi'
- set password = 'root123456';
- GRANT ALL PRIVILEGES ON . TO 'root'@'%' - - IDENTIFIED BY 'root123456' WITH GRANT OPTION;
- flush privileges;