您好,登錄后才能下訂單哦!
下面一起來了解下Linux下MySQL安裝及基本操作教程,相信大家看完肯定會受益匪淺,文字在精不在多,希望這篇短內容是你想要的。
為了提供更豐富、更強大的 web 應用功能,往往還需要有后臺數據庫、網頁編程等多種角色的支持。
在一般小中型企業中,最常用的數據庫就是MySQL,MySQL 是一個真正多線程、多用戶的 SQL 數據庫服務,憑借其高性能、高可靠和易于使用的特性,成為云服務器領域中最受歡迎的開源數據庫系統。
MySQL 源碼編譯包(mysql-5.6.tar.gz):
https://pan.baidu.com/s/1pgYHB8kyJ7U1zl2cm4XUcw
提取碼: y8py
MySQL 5.X 系列版本的使用最為廣泛,該版本穩定性、兼容性都不錯
其官方站點為:http://www.mysql.com
準備工作:
為了避免發生端口沖突、程序沖突等現象,建議先查看 MySQL 的安裝情況,確認沒有使用以 RPM 安裝的MySQL包
[root@mysql /]# rpm -qa | grep mysql
如果有的話,建議將其卸載:rpm -q mysql-server mysql
然后就是需要安裝 ncurses 包,檢測到已經安裝三個,還缺一個,所以需要掛載系統光盤,進行安裝
[root@mysql /]# rpm -qa | grep ncurses ncurses-5.9-13.20130511.el7.x86_64 ncurses-libs-5.9-13.20130511.el7.x86_64 ncurses-base-5.9-13.20130511.el7.noarch
[root@mysql /] # mount /dev/sr0 /media/ [root@mysql Packages]# rpm -ivh ncurses-devel-5.9-13.20130511.el7.x86_64.rpm warning: ncurses-devel-5.9-13.20130511.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY Preparing... ################################# [100%] Updating / installing... 1:ncurses-devel-5.9-13.20130511.el7################################# [100%]
MySQL 5.X 系列版本需要 cmake 編譯安裝,所以需要先安裝 cmake 包:
[root@mysql media]# tar zxf cmake-2.8.6.tar.gz -C /usr/src/ [root@mysql media]# cd /usr/src/cmake-2.8.6/ [root@mysql cmake-2.8.6]# ./configure [root@mysql cmake-2.8.6]# gmake && gmake install # 過程會很長
源碼編譯及安裝:
創建運行用戶:
[root@mysql /]# groupadd mysql [root@mysql /]# useradd -M -s /sbin/nologin mysql -g mysql # -M 不創建宿主目錄 -s 指定shell環境 -g 指定加入組
解包:
將下載的 mysql 源碼包解壓:
[root@mysql media]# tar zxf mysql-5.6.36.tar.gz -C /usr/src/ [root@mysql media]# cd /usr/src/mysql-5.6.36/
配置:
在內容豐富、結構龐大的企業網站中,可能會用到多種字符集的網頁,相應地數據庫系統也應該支持不同的字符集編碼。在配置過程中,可以將默認使用的字符集設置為 utf-8,并添加字符集的支持。
注意注意注意:接下來輸入的命令需要區分大小寫,一個標點符號也不能錯,錯了就得重新來過,寫完命令之后一定要耐心檢查一下
[root@mysql mysql-5.6.36]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DSYSCONFDIR=/etc -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci # 每個“-”前都有空格 -DWITH_EXTRA_CHARSETS=all 各選項含義: --DCMAKE_INSTALL_PREFIX:指定將 MySQL 數據庫程序安裝到某目錄下 --DSYSCONFDIR:指定初始化參數文件目錄 --DDEFAULT_CHARSET:指定默認使用的字符集編碼 --DDEFAULT_COLLATION:指定默認使用的字符集校對規則,utf8_general_ci 是適用于 utf-8 字符集的通用規則 --DWITH_EXTRA_CHARSETS:指定額外支持的其他字符集編碼
[root@mysql mysql-5.6.36]# make && make install #編譯并安裝 過程會很漫長
安裝后的其他調整:
對數據庫的目錄進行權限設置:
[root@mysql ~]# chown -R mysql:mysql /usr/local/mysql
建立配置文件:
在 Centos 7 系統下默認支持 MariaDB 數據庫,因此系統默認的/etc/my.cnf 配置文件中是 MariaDB 的配置文件。而在源碼包目錄中的 support-files 文件夾中,提供了 MySQL 數據庫默認的樣本配置文件 my-default.cnf 文件,所以在啟動之前需要將原有的 my.cnf 文件替換為 MySQL 提供的配置文件內容。
[root@mysql ~]# rm -rf /etc/my.cnf # 將原來 etc 文件夾下的 my.cnf 文件刪除 [root@mysql ~]# cp /usr/src/mysql-5.6.36/support-files/my-default.cnf /etc/my.cnf
初始化數據庫:
以運行用戶 mysql 的身份執行初始化腳本 mysql_install_db,指定數據存放目錄
[root@mysql ~]# /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
設置環境變量(為了方便在任何目錄下使用 mysql 命令,需要在 /etc/profile 設置環境變量):
[root@mysql ~]# echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile [root@mysql ~]# . /etc/profile // 立即生效
添加為系統服務:
[root@mysql ~]# cp /usr/src/mysql-5.6.36/support-files/mysql.server /usr/local/mysql/bin/mysqld.sh # 將服務腳本復制到 MySQL安裝目錄中 [root@mysql ~]# chmod +x /usr/local/mysql/bin/mysqld.sh # 添加執行權限 [root@mysql /]# vim /usr/lib/systemd/system/mysqld.service [Unit] Description=MySQL Server After=network.target [Service] User=mysql # 指定程序運行的用戶賬號 Group=mysql # 指定程序運行的組賬號 Type=forking PIDFile=/usr/local/mysql/data/mysql.com.pid # 注意pid前要輸主機名,輸入之前先查看一下本機主機名 ExecStart=/usr/local/mysql/bin/mysqld.sh start ExecStop=/usr/local/mysql/bin/mysqld.sh stop [Install] WantedBy=multi-user.target
[root@mysql /]# systemctl enable mysqld # 設置開機自啟 [root@mysql /]# systemctl status mysqld # 檢查服務啟動狀態 [root@mysql /]# systemctl start mysqld # 啟動服務
若嫌編寫配置文件麻煩,可以換另一種方法:
當對/usr/local/mysql/bin/mysqld.sh 賦予執行權限后,繼續以下操作:
[root@mysql-5.6.36]# cp /usr/local/mysql/bin/mysqld.sh /etc/init.d/mysqld [root@mysql-5.6.36]# vim /etc/init.d/mysqld
修改后,保存退出。繼續執行如下命令:
[root@localhost mysql-5.6.36]# chkconfig --add mysqld #添加為系統服務
啟動服務后登陸數據庫:
root 是MySQL的默認管理員
[root@mysql /]# mysql -u root # 無密碼的時候登陸 [root@mysql /]# mysqladmin -u root password 123456 # 第一次設置密碼 [root@mysql /]# mysqladmin -u root -p password 654321 # 修改密碼,先輸入新密碼 Enter password: # 根據提示輸入舊密碼 [root@mysql /]# mysql -u root -p # 使用密碼登陸 Enter password: # 根據提示輸入密碼
[root@mysql /]# mysql -u root -p …… // 省略部分內容 mysql> status # 查看當前數據庫的基本信息 mysql> exit # 退出 MySQL操作環境 ouit 也行 Bye
查看 MySQL 中有哪些庫:
mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | test | +--------------------+ 4 rows in set (0.03 sec)
查看數據庫中有哪些表:
mysql> use mysql; Database changed mysql> show tables; +---------------------------+ | Tables_in_mysql | +---------------------------+ | columns_priv | | db | | time_zone_name | …… // 省略部分內容 | time_zone_transition | | time_zone_transition_type | | user | +---------------------------+ 28 rows in set (0.00 sec)
查看表的結構:
mysql> describe user; +----------+----------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +----------+----------+------+-----+---------+-------+ | name | char(16) | YES | | NULL | | | xingbie | char(10) | YES | | NULL | | | nianling | int(11) | YES | | NULL | | +----------+----------+------+-----+---------+-------+ 3 rows in set (0.01 sec)
創建新的數據庫:
mysql> create database users;
創建新的表:
mysql> use users; mysql> create table user (name char(16),xingbie char(10),nianling int);
刪除一個數據表:
mysql> drop table user; Query OK, 0 rows affected (0.01 sec)
刪除一個數據庫:
mysql> drop database users; Query OK, 0 rows affected (0.00 sec)
管理表中的數據記錄:
插入數據記錄:
insert into 表名(字段一,字段二,...) values(字段一的值,字段二的值,....) mysql> insert into user (name,xingbie,nianling) values('zhangsan','nan','25');
查詢數據記錄:
mysql> select * from user; +----------+---------+----------+ | name | xingbie | nianling | +----------+---------+----------+ | zhangsan | nan | 25 | +----------+---------+----------+ 1 row in set (0.00 sec)
修改數據記錄:
update 表名 set 字段名=‘修改的字段值’ where 條件表達式 mysql> update user set nianling='20' where name='zhangsan';
刪除數據記錄:
delete from 表名 where 條件表達式; mysql> delete from user where name='zhangsan';
數據庫用戶授權:
授予權限
grant 權限列表 on 庫名.表名 to 用戶@來源地址 identified by ‘密碼’; mysql> grant select on users.user to zhangsan@localhost identified by '123456';
使用 GRANT 語句需要注意以下幾點:
查看權限:
show grants for 用戶名@來源地址; show grants for 'zhangsan'@'localhost';
撤銷權限:
revoke 權限列表 on 數據庫名.表名 from 用戶名@來源地址revoke all on test.user from 'zhangsan'@'localhost';
看完Linux下MySQL安裝及基本操作教程這篇文章后,很多讀者朋友肯定會想要了解更多的相關內容,如需獲取更多的行業信息,可以關注我們的行業資訊欄目。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。