Linux 阿里雲服務器 CentOS 7 安裝 MySQL 5.7。css
1、準備工做mysql
一、MySQL 官網下載 MySQL 5.7.23 :mysql-5.7.23-linux-glibc2.12-x86_64.tar.gzlinux
二、檢查是否已經安裝過 MySQL :sql
$> rpm -qa | grep mysql
若是已經安裝過其餘版本的 MySQL,使用如下命令卸載:$> rpm -e 已經存在的MySQL全名shell
三、添加用戶組,用專門管理mysql,提升安全 (非必須,能夠跳過 )數據庫
$> groupadd mysql $> useradd -r -g mysql -s /bin/false mysql
四、安裝libaio1 :
libaio1 是 MySQL 的安裝依賴 必須先安裝(前提條件)安全
$> yum install libaio-devel.x86_64
2、安裝ruby
一、解壓 mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz 並移到 /usr/local/mysql 文件夾下:bash
$> tar -xvf mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz -C /usr/local $> mv mysql-5.7.23-linux-glibc2.12-x86_64 /usr/local/mysql $> chown -R mysql:mysql mysql
二、配置 MySQL 的服務,將 support-files 下的 mysql.server 複製到 /etc/init.d/ 下並取名mysql :服務器
$> cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
三、修改/etc/init.d/mysql的參數:
$> vi /etc/init.d/mysql
#修改以下內容 basedir=/usr/local/mysql datadir=/usr/local/mysql/data
四、配置 MySQL 的配置文件,
其餘版本mysql的support-files目錄下有默認的配置文件,
5.7.23 這個版本沒有,須要本身準備,下面提供一份簡單基本配置,
在/etc/ 下新建my.cnf ,有些可能會提示已經存在,由於默認裝的數據庫配置文件也在,直接覆蓋就行:
注意:在 my.cnf 文件所在目錄,看是否有一個叫 my.cnf.d 的文件夾,
若是沒有須要新建一個,否則後面安裝的時候會報錯。
$> touch /etc/my.cnf $> vi /etc/my.cnf
#my.cnf內容以下 # *** DO NOT EDIT THIS FILE. It's a template which will be copied to the # *** default location during install, and will be replaced if you # *** upgrade to a newer version of MySQL. [client] port = 3306 #普通項目的編碼方式能夠設置成 utf8 #這裏設置成utf8mb4,是由於個人項目須要存儲 emoji 表情, #這種表情雖然是utf8編碼,可是一個字符須要佔用4個字節,而MySQL utf8編碼只能存放3字節的字符。 #在MySQL 5.6 以上版本中,能夠設置編碼爲utf8mb4,這個字符集是utf8的超集。 default-character-set=utf8mb4 [mysqld] # 通常配置選項 basedir = /usr/local/mysql datadir = /usr/local/mysql/data port = 3306 character-set-server=utf8mb4 default_storage_engine = InnoDB sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION socket=/var/lib/mysql/mysql.sock # 下面一行是忽略大小寫的配置,不想忽略的話能夠刪除,或者把值改爲 0; lower_case_table_names=1 # 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 [mysqld_safe] log-error=/var/log/mysql/mariadb/mariadb.log pid-file=/var/run/mysql/mariadb/mariadb.pid # include all files from the config directory !includedir /etc/my.cnf.d
五、建立相關目錄文件:
$> mkdir -p /var/log/mysql/mariadb $> touch /var/log/mysql/mariadb/mariadb.log $> chown -R mysql:mysql /var/log/mysql $> mkdir /var/run/mysql $> chown -R mysql:mysql /var/run/mysql $> mkdir /var/lib/mysql $> chown -R mysql:mysql /var/lib/mysql $> ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
六、切換到mysql的bin目錄執行下面命令初始化數據庫:
$> rm -rf /usr/local/mysql/data/* (沒有/usr/local/mysql/data目錄能夠不執行) $> ./mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
七、執行完畢後會自動生成默認的初始密碼在執行記錄中,注意複製出來!
八、啓動mysql 服務,下方會提示啓動成功字樣
$> service mysql start
啓動成功會顯示:Starting MySQL [ OK ! ]
九、配置一下mysql的環境變量
$> cd /etc/profile.d $> touch mysql.sh $> vi mysql.sh
#mysql.sh添加以下內容 MYSQL_HOME=/usr/local/mysql PATH=$PATH:$MYSQL_HOME/bin export MYSQL_HOME PATH
$> source /etc/profile
3、登陸
一、登陸
$> mysql -uroot -p
# 輸入默認的初始密碼
二、修改密碼
mysql> set password=password('新密碼');
三、開啓遠程登陸
3.一、設置mysql的遠程登陸:
# grant all privileges on 庫.表 to 用戶@'%' identified by '用戶密碼'; mysql> grant all privileges on *.* to root@'%' identified by 'root密碼'; mysql> flush privileges;
3.二、設置防火牆:
# 設置防火牆: $> firewall-cmd --zone=public --add-port=3306/tcp --permanent # 從新載入: $> firewall-cmd --reload # 查看: $> firewall-cmd --zone= public --query-port=3306/tcp 或 firewall-cmd --zone=public --list-ports
四、設置開機自啓(非必須,不影響使用):
$> chkconfig --list $> chkconfig --add mysql $> chkconfig mysql on # 而後使用chkconfig --list命令再次查看自啓服務列表, # 會看到mysql的2-5都顯示開(有些顯示的是 on); # 說明mysql服務會隨機器啓動而自動啓動
而後就能夠導入 SQL 文件建表跑服務了。
若是想要關閉 mysql 服務:
$> service mysql stop