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下怎麼連接mysql資料庫
1、首先確保linux下mysql安裝好,服務啟動完之後,就可以開始連接資料庫了。在終端輸入「mysql -hlocalhost -uroot -p」,其中h參數是主機名,這里是本地就寫localhost,也可以省略:
⑶ linux 怎麼使用mysql 資料庫
一、啟動mysql服務
(1) rpm方式安裝的mysql
-設置自動啟動
#ntsysv --level 3
-手工啟動
#service mysqld start
(2) 編譯安裝的mysql
-設置自動啟動
#vi /etc/rc.d/rc.local
.......
/usr/local/mysql/bin/mysqld_safe&
........
-手工啟動
#/usr/local/mysql/bin/mysqld_safe&
查看文章
mysql伺服器(一)2009-06-15 11:18mysql伺服器
一. 認識和安裝mysql
1. 認識mysql
(1) mysql是一種網路資料庫伺服器產品
(2) mysql是開源的免費的
(3) mysql是關系型資料庫管理系統,支持SQL.
(4) mysql無溢出漏洞
(5) mysql提供豐富的API
(6) mysql提供豐富的數據類型
(7) mysql具較強的移值性
2. 安裝mysql軟體
(1) rpm安裝方式
#rpm -ivh perl-CGI....
perl-DBI....
perl-DBD-MySQL.....
mysq-....
mysql-server....
mysql-devel.....
(2) 編譯安裝方式
#groupadd mysql
#useradd -g mysql mysql
#tar -xzvf mysql-4.1.19.tar.gz
#cd mysql-4.1.19
#./configure --prefix=/usr/local/mysql
#make
#make install
#cp support-files/my-medium.cnf /etc/my.cnf
#cd /usr/local/mysql
#bin/mysql_install_db --user=mysql
#chown -R root .
#chown -R mysql var
#chgrp -R mysql .
3. 啟動mysql服務
(1) rpm方式安裝的mysql
-設置自動啟動
#ntsysv --level 3
-手工啟動
#service mysqld start
(2) 編譯安裝的mysql
-設置自動啟動
#vi /etc/rc.d/rc.local
.......
/usr/local/mysql/bin/mysqld_safe&
........
-手工啟動
#/usr/local/mysql/bin/mysqld_safe&
二、mysql的管理
1. 如何連接mysql伺服器
(1) Linux客戶機
#mysql [-h伺服器地址] [-u用戶名] [-p口令] [資料庫名]
實例:
#mysql
mysql>
#mysql -h192.168.3.1 -uadmin -plinux
mysql>
(2) Windows客戶機
-利用第三方mysql客戶端軟體
-利用瀏覽器連接(伺服器必須安裝web管理平台,如:phpmyadmin/webmin)
注:webmin的安裝方法
#tar -xzvf webmin-1.25.tar.gz
#cd webmin-1.25
#./setup.sh
2. 資料庫管理
(1) 認識mysql的資料庫
-mysql伺服器默認建立兩個資料庫,分別是mysql和test;其中mysql是系統資料庫;test是學習資料庫
-mysql伺服器上的每個資料庫都會在相應路徑中建立與庫同名的目錄
-每個資料庫可包含若干張表,每張表由*.frm、*.MYD和*.MYI文件構成
(2) 創建資料庫
#mysql
mysql>create database 資料庫名;
實例:
mysql>create database dbinfo;
(3) 查看伺服器上已創建的資料庫
#mysql
mysql>show databases;
(4) 打開資料庫
#mysql
mysql>use 資料庫名;
實例:
mysql>use db1;
(5) 刪除資料庫
#mysql
mysql>drop database 資料庫名;
實例:
mysql>drop database dbinfo;
3. 數據表的管理
(1) mysql提供的數據類型
-數字型
TINYINT 1位元組
SMALLINT 2位元組
MEDIUMINT 3B
INT 4B
BIGINT 8B
FLOAT[(M,D)] 4B
DOUBEL[(M,D)] 8B
DECIMAL(M,D)
-字元串型
char(M)
varchar(M)
tinytext
text
mediumtext
longtext
enum('..',...)
set(....)
-日期時間型
date
datetime
time
(2) 創建表
#mysql
mysql>use 資料庫;
mysql>create table 表名 (
列名 數據類型 屬性/約束;
.......
.....
) 表選項;
列屬性/約束:
null/not null 是否允許為null
default 值 定義列的默認值
primary key 定義主鍵
check 表達式 定義列的取值范圍
REFERENCES 表名(列名) 定義外部鍵
表選項:
TYPE=HEAP/ISAM/MYISAM/INNOBDB/BDB/MERGE //定義數據表引擎類型
實例:
mysql>use db1
mysql>create table users (
->id varchar(10) primary key,
->name varchar(20) not null,
->password varchar(30) not null) TYPE=MYISAM;
(3) 查看資料庫中已建立的表
#mysql
mysql>use 資料庫;
mysql>show tables;
(4) 查看錶的結構
#mysql
mysql>use 資料庫;
mysql>describe 表名;
(5) 修改表的結構
#mysql
mysql>use 資料庫;
mysql>alter table 表名
add 列定義 //添加列
|drop 列名 //刪除列
|add index 索引名 (列名) //添加索引
|drop index 索引名 //刪除索引
|modify 列定義 //修改列的定義
|add primary key (列名) //添加主鍵
|drop primary key //刪除主鍵
|rename 新表名 //修改表名稱
實例:mysql>alter table users add memo text;
(6) 向表中插入數據
#mysql
mysql>insert into 表名[(列名,...n)] values (值,...)
實例:
mysql>insert into users values ('0001','user1','linux','system admin');
(7) 查看錶中數據
#mysql
mysql>select 列名 [as 別名] [,...n]|*|表達式
->from 表名[,...n]
->[where 條件表達式]
->[order by 列名]
->[group by 列名]
->[having 條件表達式]
實例:
mysql>select * from users;
mysql>select user,password from users;
mysql>select user,password from users where name='user1';
mysql>select * from users order by id desc;
mysql>select 性別, count(*) as 人數 from 學生 group by 性別;
(8) 刪除表中數據
#mysql
mysql>delete from 表名 [where 條件表達式];
實例:
mysql>delete from users;
mysql>delete from users where name='user1';
(9) 修改表中數據
#mysql
mysql>update 表名 set 列名=值 [where 條件表達式];
實例:
mysql>update users set password='132' where name='user1';
(10) 刪除表
#mysql
mysql>drop table 表名;
實例:
mysql>drop table users;