創建用戶
useradd mysql;
passwd mysql;
下載(比如:5.5.61)
地址
https://dev.mysql.com/downloads/mysql/5.6.html#downloads
選擇符合服務器CPU架構的二進制包
cd /home/mysql && wget https://cdn.mysql.com//Downloads/MySQL-5.5/mysql-5.5.61-linux-glibc2.12-x86_64.tar.gz;
解壓
tar vxzf mysql-5.5.61-linux-glibc2.12-x86_64.tar.gz;
重命名
mv mysql-5.5.61-linux-glibc2.12-x86_64 mysql-5.5.61;
配置
新建配置文件
vi /home/mysql/port-3306/my.cnf
[client]
default-character-set=utf8 #客戶端連接編碼
[mysql]
auto-rehash #客戶端tab補全
default-character-set=utf8 #編碼
[mysqld]
user=mysql #運行賬戶
port=3306 #定義端口
log-bin=mysql-bin #開啟二進制日志
server-id=1001 #定義服務ID
binlog_format=row # binlog類型
binlog_do_db=MDA # 設置binlog數據庫
max_allowed_packet=50M ###最大
wait_timeout=30 ###等待超時默認s
interactive_timeout=30 ###活動超時
innodb_buffer_pool_size = 128M
join_buffer_size = 128M
sort_buffer_size = 2M
read_rnd_buffer_size = 2M
basedir=/home/mysql/mysql-5.5.61 #MYSQL根目錄
datadir=/home/mysql/port-3306/data #MYSQL數據存放目錄
socket=/home/mysql/port-3306/3306_mysql.sock #套接字
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8 #定義數據庫默認字符 server\collation
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
symbolic-links=0
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
lower_case_table_names = 1 #對表的大小寫不敏感
[mysqld_safe]
log-error=/home/mysql/port-3306/logs/err.log #錯誤日志
pid-file=/home/mysql/port-3306/mysqld.pid #pid,多協議通信 tcp/sock
安裝
依賴
yum install -y libaio;
初始化數據庫
mkdir -p /data/mysql/port-3306/data;
cd /home/mysql/mysql-5.5.61 && scripts/mysql_install_db --basedir=/home/mysql/mysql-5.5.61 --datadir=/home/mysql/port-3306/data --defaults-file=/home/mysql/port-3306/my.cnf;
注意:生產環境推薦采用這種方式
/home/mysql/mysql-5.5.61/bin/mysql_secure_installation
移除測試數據庫和匿名用戶。
啟動
mkdir -p /home/mysql/port-3306/logs && mkdir -p /home/mysql/port-3306/data && touch /home/mysql/port-3306/logs/err.log;
/home/mysql/mysql-5.5.61/bin/mysqld_safe --defaults-file=/home/mysql/port-3306/my.cnf --user=mysql &
錯誤
備注:在配置文件正確的情況下,解決這個錯誤很簡單,修改安裝目錄所有文件的所有者和群租都為mysql。命令chown mysql:mysql /home/mysql/*
。
正確
修改管理員密碼
/home/mysql/mysql-5.5.61/bin/mysqladmin -u root password 'youngangel.c0m' -S /home/mysql/port-3306/3306_mysql.sock -hlocalhost -P3306
開放外網連接權限
連接
/home/mysql/mysql-5.5.61/bin/mysql -S /home/mysql/port-3306/3306_mysql.sock -hlocalhost -P3306 -uroot -p'youngangel.c0m'
執行腳本
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'youngangel.c0m' WITH GRANT OPTION;
FLUSH PRIVILEGES;
測試
連接
/home/mysql/mysql-5.5.61/bin/mysql -S /home/mysql/port-3306/3306_mysql.sock -hlocalhost -P3306 -uroot -p'youngangel.c0m'
遠程連接
如果是阿里雲上裝MySql需要在安全組里開啟3306端口,同時查看本機防火牆,如果運行,也需要開啟3306端口,命令如下:
systemctl status firewalld;
firewall-cmd --permanent --zone=public --add-port=3306/tcp;
firewall-cmd --complete-reload;
備注:千萬不要忽略本機防火牆,不要認為阿里雲安全組里添加端口就行了。