目錄html
虛擬機未裝過mysql,第一次安裝mysql。本身指定安裝目錄,指定數據文件目錄。
linux系統版本: CentOS 7.3 64位
安裝源文件版本:mysql-5.7.24-linux-glibc2.12-x86_64.tar.gzip
mysql安裝位置:/software/mysql-57
數據庫文件數據位置:/data/mysqlmysql
安裝步驟linux
[root@localhost ~]# mkdir /software/ [root@localhost ~]# mkdir /data/mysql
下載安裝包:https://dev.mysql.com/downloads/mysql/5.7.html#downloads
sql
[root@localhost ~]# tar -zxvf mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz [root@localhost ~]# mv mysql-5.7.24-linux-glibc2.12-x86_64/ /software/mysql-57
[root@localhost ~]# groupadd mysql [root@localhost ~]# useradd -r -g mysql mysql
[root@localhost ~]# chown -R mysql:mysql /software/mysql-57/ [root@localhost ~]# chown -R mysql:mysql /data/mysql/ [root@localhost ~]# chown -R mysql /software/mysql-57/ [root@localhost ~]# chown -R mysql /data/mysql
[root@localhost ~]# chmod -R 755 /software/mysql-57/
若是系統以前裝過其餘的數據庫,那麼依賴包可能存在,能夠用命令行測試下,若是不存在就進行安裝。shell
[root@localhost ~]# yum list installed | grep libaio # 若是沒有就進行安裝 [root@localhost ~]# yum search libaio [root@localhost ~]# yum install libaio
[root@localhost ~]# cd /software/mysql-57/bin [root@localhost ~]# ./mysqld --user=mysql --basedir=/software/mysql-57 --datadir=/data/mysql --initialize
在執行上面命令後會出幾行信息。信息的最後一行爲:數據庫
# root@localhost: 後面跟的是mysql數據庫登陸的臨時密碼,各人安裝生成的臨時密碼不同, # 將密碼複製保存,後續登陸mysql要使用 [Note] A temporary password is generated for root@localhost: ad8#*>y(f4Cq
[root@localhost ~]# vim /software/mysql-57/support-files/mysql.server
主要是修改相應文件夾的位置,修改成以前建立的文件夾。
mysql.server
修改前vim
...... if test -z "$basedir" then basedir=/usr/local/mysql bindir=/usr/local/mysql/bin if test -z "$datadir" then datadir=/usr/local/mysql/data fi sbindir=/usr/local/mysql/bin libexecdir=/usr/local/mysql/bin else ......
修改後安全
...... mysqld_pid_file_path= if test -z "$basedir" then basedir=/software/mysql-57 bindir=/software/mysql-57/bin if test -z "$datadir" then datadir=/data/mysql fi sbindir=/software/mysql-57/bin libexecdir=/software/mysql-57/bin else ......
將修改好的文件放入系統服務文件夾內。這樣每次就能夠經過service mysqld start來啓動服務。socket
[root@localhost ~]# cp /software/mysql/support-files/mysql.server /etc/init.d/mysqld [root@localhost ~]# chmod 755 /etc/init.d/mysqld
my.cnfide
[root@localhost ~]# vim /etv/my.cnf
修改前
[mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 # Settings user and group are ignored when systemd is used. # If you need to run mysqld under a different user or group, # customize your systemd unit file for mariadb according to the # instructions in http://fedoraproject.org/wiki/Systemd [mysqld_safe] log-error=/var/log/mariadb/mariadb.log pid-file=/var/run/mariadb/mariadb.pid
修改後
[client] no-beep socket =/software/mysql-57/mysql.sock port=3306 [mysql] default-character-set=utf8 [mysqld] basedir=/software/mysql-57 datadir=/data/mysql port=3306 pid-file=/software/mysql-57/mysqld.pid skip-name-resolve socket = /software/mysql-57/mysql.sock character-set-server=utf8
其中skip_name_resolve。這個參數是禁止域名解析的。
由於新版本的mysql安全啓動只認 /usr/local/mysql 這個路徑。因此要進行相應的修改,一般有兩種方法進行修改。
#local下沒有mysql文件夾的話,新建一個 [root@localhost ~]# cd /usr/local/mysql [root@localhost ~]# ln -s /sofware/mysql-57/bin/myslqd mysqld
[root@localhost ~]# vim /software/mysql/bin/mysqld_safe #將全部的/usr/local/mysql改成/software/mysql-57,保存退出
啓動mysql:
[root@localhost ~]# /etc/init.d/mysqld start 這樣服務就能安全啓動。
[root@localhost ~]# /software/mysql/bin/mysql -u root –p # 輸入臨時密碼。臨時密碼就是以前root@localhost:後面的內容
## password('123456') 括號中的123456就是修改後的的密碼,不過建議密碼不要這麼簡單 >mysql set password=password('123456'); ## 對root用戶進行受權,"%"表示在任何一臺電腦上均可以登陸;也能夠指定某臺機器能夠遠程登陸; >mysql grant all privileges on *.* to root@'%' identified by 'root'; ## 刷新表 >mysql flush privileges;
操做到這裏,MySQL的基本安裝過程已經完成,此時mysql的登陸名root, 登陸密碼123456
查看mysql服務的兩種方式
[root@localhost ~]# ps -ef|grep mysql [root@localhost ~]# netstat -nlp|grep mysql
啓動mysql服務
[root@localhost ~]# service mysql start 若是服務在啓動狀態,直接重啓服務用如下命令: [root@localhost ~]# service mysql restart
關閉mysql服務
service mysql stop
其餘MySQL相關的博文
MySQL5.7 經常使用用戶操做
Centos7 firewall開放3306端口