下面的操作爲啥是那樣的操作,這樣的操作,具體原因各位看官知道的,想發表觀點,留言板歡迎你
我只是記錄下,防止下次換系統,又要重新谷歌下,懶了
下載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