安裝準備:
Linux系統(CentOS)添加防火墻、iptables的安裝和配置
請訪問地址:https://blog.csdn.net/esqabc/article/details/140209894
1,下載mysql安裝文件(mysql-5.7.44為例)
選擇Linux通用版本64位(Linux - Generic)
即下載列表第二個選項(Linux - Generic (glibc 2.12) (x86, 64-bit), Compressed TAR Archive)
執行命令:
wget https://cdn.mysql.com/archives/mysql-5.7/mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz
或者自行選擇其他版本:
瀏覽器查看地址:https://downloads.mysql.com/archives/community
2,把下載好的MySql數據庫安裝文件拷貝到任意目錄(我的安裝目錄: /usr/local/)
執行命令:cp mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz /usr/local/
3,編輯配置文件:my.cnf
(我的安裝目錄: /usr/local/,數據庫文件目錄為:/usr/data/)
執行命令:vim /etc/my.cnf
把以下的內容拷貝進去,如my.cnf文件里有重復,請注釋掉,優先使用以下的:
#數據庫安裝文件目錄
basedir = /usr/local/mysql
#數據庫數據目錄
datadir = /usr/data/mysql
socket = /tmp/mysql.sock
#數據庫日志目錄
log-error = /usr/data/mysql/error.log
pid-file = /usr/data/mysql/mysql.pid
user = mysql
tmpdir =/tmp
lower_case_table_names=1
4,創建數據庫日志保存地址
進入目錄:cd /var/log/
創建文件夾(mariadb):mkdir mariadb
進入目錄:cd /var/log/mariadb/
創建文件(mariadb.log):touch mariadb.log
5,創建數據庫-數據存放目錄
(我的安裝目錄: /usr/local/,數據庫文件目錄為:/usr/data/)
進入目錄:cd /usr
創建文件夾(data):mkdir data
進入目錄(data):cd /usr/data/
創建文件夾(mysql):mkdir mysql
6,解壓mysql
進入目錄:cd /usr/local
解壓安裝包:tar -zxvf mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz
重命名:mv /usr/local/mysql-5.7.44-linux-glibc2.12-x86_64 /usr/local/mysql
7,添加系統mysql組和mysql用戶:
執行命令:groupadd mysql
執行命令:useradd -r -g mysql mysql
8,修改當前目錄擁有者為mysql用戶:
執行命令:cd /usr/local/mysql
執行命令:chown -R mysql:mysql ./
9,安裝Mysql數據庫
a,方法一(推薦):
執行命令:
./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/data/mysql --pid-file=/usr/data/mysql/mysql.pid --tmpdir=/tmp
b,方式二:
執行命令:
./scripts/mysql_install_db --user=mysql
如果安裝過程中出現錯誤,請滾到網頁最后面查看解決方法
10,修改當前目錄擁有者為root用戶
進入目錄:cd /usr/local/mysql
執行命令:chown -R root:root ./
11,修改當前data目錄擁有者為mysql用戶
進入目錄:cd /usr/local/mysql
執行命令:chown -R mysql:mysql /usr/data
12,啟動mysql服務、添加開機啟動mysql服務,添加開機自動啟動
執行命令:
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
賦予可執行權限:chmod +x /etc/init.d/mysql
添加mysql服務:chkconfig --add mysql
顯示當前服務列表查是否添加成功:
執行命令:chkconfig --list
看到以下信息就說明添加成功了:
13,啟動mysql服務:
執行命令:service mysql start
如果出現問題,請滾網頁到最后面查看解決方法
14,其它的一些命令
a,啟動數據庫命令(兩種):
執行命令:service mysql start
執行命令:mysql service mysqld start
b,關閉數據庫命令(兩種):
執行命令:service mysql stop
執行命令:mysql service mysqld stop
c,查看數據庫狀態命令:
查看版本-執行命令:mysql --version
查看進程-執行命令:ps aux | grep mysql
15,登錄數據庫
執行命令:mysql -uroot -p
如果出現:-bash: mysql: command not found ,請滾網頁到最后面查看解決方法
16,修改root密碼(如密碼為:123456),登錄數據庫后,SQL注意后面的;符號
執行修改SQL:
GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "123456";
執行生效SQL:
flush privileges;
16,給root賬戶開啟遠程登錄(如密碼為:123456),登錄數據庫后,SQL注意后面的;符號
執行SQL:
grant all privileges on *.* to 'root'@'%'identified by '123456' with grant option;
執行生效SQL:
flush privileges;
安裝問題總結和解決方法
1,出現:
-bash: ./scripts/mysql_install_db: /usr/bin/perl: bad interpreter:
—就說明沒有那個文件或目錄
解決方法,執行命令:
yum -y install perl perl-devel
========================================================================
2,出現:
Installing MySQL system tables…./bin/mysqld: error while loading
shared libraries: libaio.so.1: cannot open shared object file: No such
file or directory
解決方法,(由于默認是32位,所以要安裝64的的,執行下面的命令):
64位Linux系統:
yum -y install numactl.x86_64
32位Linux系統:
yum -y install libaio-devel
========================================================================
3,出現:
FATAL ERROR: please install the following Perl modules before
executing ./scripts/mysql_install_db: Data::Dumper
解決方法,執行命令:
yum -y install autoconf
========================================================================
4,出現:
FATAL ERROR: The parent directory for the data directory ‘/data/mysql’
does not exist. If that path was really intended, please create that
directory path and then
解決方法:請在跟目錄新建文件夾:/data/mysql 執行命令:
cd ..
mkdir -p /data/mysql
========================================================================
5,出現:
Starting MySQL./usr/local/mysql/bin/mysqld_safe: line 183: 14957
Killed nohup /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql –
data dir=/data/mysql --plugin- dir=/usr/local/mysql/lib/plugin
–user=mysql --log-error=/var/log/mariadb/mariadb.log --pid-file=/data/mysql/mysql.pid – socket=/tmp/mysql.sock < /dev/null > /dev/null 2>&1 ERROR! The server quit without updating PID file (/data/mysql/mysql.pid).
解決方法:請在目錄/usr/data/mysql 添加文件:mysql.pid 文件內容為空白
cd /usr/data/mysql
touch mysql.pid
========================================================================
6,出現:
/usr/local/mysql/bin/mysqld_safe: line 183: 16497 Killed nohup
/usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql
–datadir=/data/mysql – plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/var/log/mariadb/mariadb.log --pid-file=/data/mysql/mysql.pid --socket=/tmp/mysql.sock < /dev/null > /dev/null 2>&1
解決方法:請在mysql配置文件(vim /etc/my.cnf)加入以下配置:
key_buffer=16K
table_open_cache=4
query_cache_limit=256K
query_cache_size=4M
max_allowed_packet=1M
sort_buffer_size=64K
read_buffer_size=256K
thread_stack=64K
innodb_buffer_pool_size = 56M
========================================================================
7,出現:
執行命令(mysql -uroot -p) -bash: mysql: command not found
解決方法:執行命令:
ln -s /usr/local/mysql/bin/mysql /usr/bin