centos配置資料庫
⑴ centos 7安裝mysql
查看是否安裝MySQL資料庫
如有(xxx 為文件全名):
卸載依賴包
RPM方式安裝MySQL資料庫:
如報錯:
安裝 Mysql 包
安裝 Mysql 靜等安裝
如果執行命令過程中提示:Unable to find a match: mysql-community-server 可以通過命令解決
如果提示失敗的軟體包是:mysql-community-server-5.7.38-1.el7.x86_64 GPG 密鑰配置為:file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
在yum install 版本後面加上 --nogpgcheck,即可繞過GPG驗證成功安裝。比如
啟動
查看 Mysql 運行狀態
看到這個綠色就表示啟動成功了
連接資料庫
報錯
解決辦法:
修改my.in/my.cnf配置
在[mysqld]下添加
重啟
查看 Mysql 運行狀態
連接資料庫
直接回車
進入資料庫自己修改一個密碼
密碼不滿足當前策略要求解決方法(不推薦)
可以看到當前密碼長度要求為8,安全等級為MEDIUM,我們把長度改為4,等級改為LOW
8.0版本輸入命令:
5.7版本輸入命令:
修改密碼
【解決辦法】 MySQL版本5.7.6版本以前用戶可以使用如下命令:
MySQL版本5.7.6版本開始的用戶可以使用如下命令:
MySQL 允許IP遠程連接(不推薦)
⑵ 怎樣在linux環境下安裝部署MySQL資料庫系統
在Linux安裝軟體需要預先做好如下一些准備:准備好Linux操作系統如:CentOS7。配置好yum源。
完成上述准備後,就可以動手安裝MySQL資料庫了。主要安裝步驟如下:
1. 禁用selinux
setenforce 0
2. 上傳安裝文件到Linux
3.解壓rpm包
tar -xvf mysql-5.7.26-1.el7.x86_64.rpm-bundle.tar
4.安裝軟體
yum install mysql-community-{libs,client,common,server}-*.rpm
5.啟動mysql資料庫初始化
systemctl start mysqld
6.修改vi /etc/my.cnf
添加:
[mysqld]
#可以在表中錄入中文
character-set-server=utf8 #
explicit-defaults-for-timestamp
# 禁用當前密碼認證策略,可以使用簡單密碼(生產環境不適用)
validate_password=0
7.重啟mysql服務
systemctl restart mysqld
8.找臨時登錄密碼
grep -i "temporary password" /var/log/mysqld.log
9.連接MySQL資料庫
mysql -uroot -p 輸入臨時密碼
10.修改root用戶登錄密碼為簡單密碼(生產環境不適用)
alter user root@localhost identified by '';
11.配置MYSQL_PS1環境變數
修改家目錄下:.bash_profile文件,添加
export MYSQL_PS1="\u@\h[\d]>"
12.使新環境變數生效
source /root/.bash_profile
13.重新連接mysql驗證
mysql -uroot -p
除了上述安裝方式以外,可能在公司中會遇到安裝指定版本的需求,那麼如何安裝指定版本的MySQL數據呢?這時我們可以採用下載指定版本安裝包進行安裝的方式,主要步驟如下,假設CentOS7 linux最小安裝,已經配置好yum。首先檢查是否安裝numactl包
rpm -qa|grep numactl
yum install numactl-libs-* # 如果沒有安裝需要安裝。檢查是否安裝lio包
rpm -qa|grep lio
yum install lio-* # 如果沒有安裝需要安裝
具體安裝步驟如下:
* 禁用selinux
setenforce 0
* 上傳安裝文件到Linux
mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz
* 創建mysql用戶組和用戶
groupadd -g 27 -r mysql
#-r創建系統賬戶,-M 不創建用戶家目錄 -N 不創建和用戶名一樣的用戶組
useradd -M -N -g mysql -r -s /bin/false -c "MySQL Server" -u 27 mysql
id mysql
* 上傳安裝包到root家目錄
* 解壓二進制文件到/usr/local
tar -zxvf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz -C /usr/local
* 解壓目錄改名為mysql
cd /usr/local
ls -l
mv mysql-5.7.26-linux-glibc2.12-x86_64/ mysql
* 環境變數中添加mysql/bin目錄
vi /root/.bash_profile
修改PATH=/usr/local/mysql/bin:$PATH:$HOME/bin
添加 export MYSQL_PS1="\u@\h[\d]>"
source /root/.bash_profile
* 創建/usr/local/mysql/etc/my.cnf選項文件 (也可以使用默認的/etc/my.cnf選項文件)
mkdir -p /usr/local/mysql/etc
mkdir -p /usr/local/mysql/mysql-files
* 編輯選項文件my.cnf填寫默認選項
vi /usr/local/mysql/etc/my.cnf
[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/usr/local/mysql/data/mysql.sock
log-error=/usr/local/mysql/data/mysqld.err
pid-file=/usr/local/mysql/data/mysqld.pid
secure_file_priv=/usr/local/mysql/mysql-files
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
Explicit-defaults-for-timestamp
character-set-server=utf8
[mysql]
socket=/usr/local/mysql/data/mysql.sock
* 初始化數據目錄
cd /usr/local/mysql
mkdir data
chmod 750 data
chown mysql:mysql data
* 初始化資料庫
cd /usr/local/mysql
bin/mysqld --defaults-file=/usr/local/mysql/etc/my.cnf --initialize
* 使用systemd管理mysql
例如:systemctl {start|stop|restart|status} mysqld
cd /usr/lib/systemd/system
touch mysqld.service
chmod 644 mysqld.service
vi mysqld.service
# 添加以下內容
[Unit]
Description=MySQL Server
Documentation=man:mysqld(7)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
Type=forking
PIDFile=/usr/local/mysql/data/mysqld.pid
# Disable service start and stop timeout logic of systemd for mysqld service.
TimeoutSec=0
# Start main service
ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/usr/local/mysql/etc/my.cnf --daemonize --pid-file=/usr/local/mysql/data/mysqld.pid $MYSQLD_OPTS
# Use this to switch malloc implementation
EnvironmentFile=-/etc/sysconfig/mysql
# Sets open_files_limit
LimitNOFILE = 65535
Restart=on-failure
RestartPreventExitStatus=1
PrivateTmp=false
以上內容中注意:The --pid-file option specified in the my.cnf configuration file is ignored by systemd.
默認:LimitNOFILE = 5000,如果連接數(max_connection)需要調大,可以將LimitNOFILE 設置為最大65535
* 創建mysql.conf文件
cd /usr/lib/tmpfiles.d
#Add a configuration file for the systemd tmpfiles feature. The file is named mysql.conf and is placed in /usr/lib/tmpfiles.d.
cd /usr/lib/tmpfiles.d
touch mysql.conf
chmod 644 mysql.conf
* mysql.conf添加內容
vi mysql.conf
添加以下語句:
d /usr/local/mysql/data 0750 mysql mysql -
* 使新添加的mysqld服務開機啟動
systemctl enable mysqld.service
* 手動啟動mysqld
systemctl start mysqld
systemctl status mysqld
* 獲得mysql臨時登錄密碼
cat /usr/local/mysql/data/mysqld.err | grep "temporary password"
* 客戶端登錄連接mysql伺服器
mysql -uroot -p
輸入臨時密碼
* 修改MySQL用戶root@localhost密碼
mysql> alter user root@localhost identified by ''; #此處為了方便設置為空密碼
* 測試新密碼連接MySQL服務
mysql -uroot -p
至此,我們就完成了在Linux環境下安裝MySQL的任務。通過這兩種方式我們可以體會到在Linux環境下安裝軟體的基本思路及方法。
⑶ 如何在linux系統中centos7.6上面安裝mysql資料庫
安裝mysql基本有三種辦法:
可以採用二進制包方式安裝mysql,並進行優化配置。
1.安裝之前,先創建mysql用戶
[root@linuxprobe_nfs ~]# useradd mysql -s /sbin/nologin -M
[root@linuxprobe_nfs ~]# id mysql
uid=500(mysql) gid=500(mysql) groups=500(mysql)
2.軟體包的下載及解壓
[root@linuxprobe_nfs ~]# mkdir /home/chenfan/tools -p
[root@linuxprobe_nfs ~]# cd /home/chenfan/tools
在http://dev.mysql.com/downloads/mysql/官網上下載mysql-5.5.32-linux2.6-x86_64.tar.gz
[root@linuxprobe_nfs tools]# ls
mysql-5.5.32-linux2.6-x86_64.tar.gz
[root@linuxprobe_nfs tools]# tar zxvf mysql-5.5.32-linux2.6-x86_64.tar.gz
[root@linuxprobe_nfs tools]# ls
mysql-5.5.32-linux2.6-x86_64 mysql-5.5.32-linux2.6-x86_64.tar.gz
[root@linuxprobe_nfs local]# mv mysql-5.5.32-linux2.6-x86_64 /usr/local/mysql-5.5.32
###免編譯安裝 mysql二進制包安裝與配置實戰記錄
[root@linuxprobe_nfs local]# cd /usr/local
[root@linuxprobe_nfs local]# ln -s mysql-5.5.32 mysql
###此處的軟鏈接為了版本升級提供了便利
3.初始化資料庫
[root@linuxprobe_nfs local]# mysql/scripts/mysql_install_db --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ --user=mysql
###此處如果初始化發生錯誤,刪除data目錄下的內容,rm -fr mysql/data/*,重新初始化。
4.生成MySQL配置文件
[root@linuxprobe_nfs local]# cd mysql
[root@linuxprobe_nfs mysql]# cp support-files/my-small.cnf /etc/my.cnf
5.授權管理文件
[root@linuxprobe_nfs ~]# chown -R mysql:mysql /usr/local/mysql/
[root@linuxprobe_nfs ~]# ls -ld /usr/local/mysql/
drwxr-xr-x. 13 mysql mysql 4096 Jun 24 17:21 /usr/local/mysql/
6.設置科學的啟動方式
[root@linuxprobe_nfs mysql]# cp support-files/mysql.server /etc/init.d/mysqld
[root@linuxprobe_nfs mysql]# chmod +x /etc/init.d/mysqld
[root@linuxprobe_nfs mysql]# /etc/init.d/mysqld start
Starting MySQL... SUCCESS!
[root@linuxprobe_nfs mysql]# chkconfig --add mysqld
[root@linuxprobe_nfs mysql]# chkconfig mysqld on
[root@linuxprobe_nfs mysql]# chkconfig --list mysqld
mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off
### 設置開機自啟動mysql
7.配置MySQL環境變數
[root@linuxprobe_nfs mysql]# echo 'PATH=/usr/local/mysql/bin:$PATH' >> /etc/profile
[root@linuxprobe_nfs mysql]# source /etc/profile
[root@linuxprobe_nfs mysql]# echo $PATH
/usr/local/mysql/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
###此處PATH路徑的設置為了後續mysql命令的使用
8.mysql登陸與密碼設置
[root@linuxprobe_nfs mysql]# mysql