下面的操作为啥是那样的操作,这样的操作,具体原因各位看官知道的,想发表观点,留言板欢迎你
我只是记录下,防止下次换系统,又要重新谷歌下,懒了
下载tar包并解压
-
wget http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz
-
tar -xzvf mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz
修改名称和存放路径
- mv mysql-5.7.20-linux-glibc2.12-x86_64 mysql
- 移动到 /usr/local/ 目录下,这样后续就不需要更改mysql配置文件中的一些路径
增加用户和用户组
- groupadd mysql
- useradd -r -g mysql mysql
- 如果存在就不用建立用户和用户组
修改权限
- chown -R mysql:mysql ./
- 后续如果mysql目录下有新增目录和文件,记得修改权限
安装相关包
-
yum install libaio
-
开始初始化mysql
- 首先先进入mysql/bin目录下执行下面命令,执行命令前先建立data目录,记得修改权限
- ./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/
- 我执行后出现问题
/bin/mysqld: error while loading shared libraries: libnuma.so.1: cannot open shared object file: No such file or directory
- 针对上面问题进行安装这个包
yum install -y numactl
-
再次执行初始化命令我成功了出现了密码,记录密码
修改配置文件
- 看其他人的博客,在mysql/support-files目录下有my.cnf文件,我表示没发现,但是在/etc目录有,先备份后,再进行修改,我的内容如下:
lower_case_table_names=1 里面有个大小写敏感的配置,配置这玩意的时候,首次是没什么问题,如果是使用后才修改的话,那么要先将数据库中的表名全部改成小写,在加上这句话,重启后即可,不然一直报错表不存在,醉了!!!
[mysqld]
datadir=/usr/local/mysql/data
basedir=/usr/local/mysql
socket=/tmp/mysql.sock
port=3306
character_set_server=utf8
lower_case_table_names=1
[client]
default-character-set=utf
[mysqld_safe]
log-error=/usr/local/mysql/log/mysql.log
pid-file=/var/run/mariadb/mariadb.pi
!includedir /etc/my.cnf.d
- 在mysql/support-files目录下有一个mysql.server,修改这里面的两个参数
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data/
-
然后复制这个文件,用于开机启动使用
- cp mysql.server /etc/init.d/mysqld
- 修改权限 chmod 755 mysqld
- chkconfig --add mysqld 这个好像是添加到服务,好像还要要求什么345都是on,我执行完就是345了,chkconfig --list看下就知道345是个什么鬼
- 没有345是on,就执行这个chkconfig --level 345 mysqld on 这个我没实践过,你试一把吧!!!!!
-
看到这个顺便把redis开机启动也顺便搞了下
- cp /usr/local/redis-4.0.2/utils/redis_init_script /etc/init.d/redis
- 修改里面的 文件的位置以及端口号
- 然后跟mysql方式一样,添加启动配置 chkconfig --add redis,修改什么345,如果没改的话
- 如果修改了端口后,redis.conf文件中的这行内容也记得修改,不然service redis stop是会提示错误的
pidfile /var/run/redis_6888.pid
加入到PATH中
- vi .bashrc 在root目录下
- 最后一行加入这个内容 export PATH=$PATH:/usr/local/mysql/bin
-保存后,输入命令 source .bashrc 进行生效 - 对当前用户永久有效的后面可以直接输入mysql进行登录,免得输个一大串
启动,修改密码和远程访问权限
- service mysqld start 这边我是success,不成功的同学就要针对问题继续谷哥和度娘了
- 在bin目录下进行登录 ,密码就是最开始出现的初始密码
./bin/mysql -uroot -p - 成功后进行修改初始密码
mysql> set password=password(“aaa123”);
Query OK, 0 rows affected, 1 warning (0.00 sec
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
- 修改远程访问权限
use mysql
update user set host=’%’ where user=‘root’;
quit
- 重启下
service mysqld restart