標籤:linux mysqld
設共用軟體包地址192.168.80.10
setenforce 0
service iptables stop
1.共用軟體包
mount.cifs //192.168.80.10/r /media/ 匿名訪問共用資料夾
cd /media/
ls 查看是否掛載成功了
tar xzvf mysql-5.5.24.tar.gz -C /opt/ 解壓至/opt/
cd /opt/ mysql-5.5.24
mount /dec/cdrom /mnt
yum install cmake -y 安裝cmake
useradd mysql -s /sbin/nologin 添加可以登入mysql使用者,但不能登入系統
mkdir -p /usr/local/mysql
執行yum install -y ncurses-devel 查看是否安裝此軟體包
執行以下指令碼:
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ 安裝路徑
-DMYSQL_DATADIR=/home/mysql/ \ 資料檔案
-DMYSQL_UNIX_ADDR=/home/mysql/mysql.sock \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DEXTRA_CHARSETS=all \
-DWITH_SSL=system \
-DMYSQL_TCP_PORT=3306 \
-DENABLE_DOWNLOADS=1 \
-DWITH_SSL=bundled
(注意:若安裝前未執行yum install -y ncurses-devel 命令,有可能會報錯。
此時,執行上條命令解決問題,並且執行rm CMakeCache.txt刪除緩衝,再重新執行cmake)
若未報錯,執行make
若未報錯,執行make install
chown -R mysql.mysql /usr/local/mysql 改變mysql的許可權
export PATH=$PATH:/usr/local/mysql/bin/ 初始化環境變數
(注意,這裡初始化是臨時的,若想開機自運行,則執行
vi ~/.bash_profile
添加一條命令
PATH=$PATH:/usr/local/mysql/bin/)
cp support-files/my-medium.cnf /etc/my.cnf //建立設定檔
cp support-files/mysql.server /etc/init.d/mysqld
添加系統服務,將mysql.server指令檔複製到/etc/init.d/目錄下,改名為 mysqld
chmod 755 /etc/init.d/mysqld 設定執行許可權
chkconfig --add /etc/init.d/mysqld 添加/etc/init.d/myspld到 chkconfig裡,用service命令來管理(service mysql)
chkconfig mysqld --level 235 on
初始化指令碼mysql_install_db位於安裝目錄的scripts檔案夾中
/usr/local/mysql/scripts/mysql_install_db \
--user=mysql \ 指定使用者為mysql
--ldata=/var/lib/mysql \ 連結檔案是/var/lib/mysql
--basedir=/usr/local/mysql \ 基本目錄,/usr/local/mysq
--datadir=/home/mysql 資料目錄為/home/mysql
ln -s /var/lib/mysql/mysql.sock /home/mysql/mysql.sock
vi /etc/init.d/mysqld
修改以下兩個參數:
basedir=/usr/local/mysql
datadir=/home/mysql
儲存
source /root/.bash_profile 立刻載入設定檔
此時,所有設定檔已修改完畢,
執行service mysqld start 啟動服務
netstat -tnl | grep 3306 可以檢查3306連接埠mysqld服務的運行狀態
2.調試mysqld
mysql -u root //登入資料庫
-------查看命令----------
mysql> show databases;
mysql> use test;
mysql> show tables;
mysql> describe user; //查看錶內容(查看user表裡的內容)
----------新增命令-----------
mysql>CREATE DATABASE benet;//建立資料庫名為benet
mysql>use benet; //進入benet這個資料庫
mysql> CREATE TABLE users (user_name CHAR(16) NOT NULL,
user_passwd CHAR(48) DEFAULT ‘‘, PRIMARY KEY (user_name)); //
建立表名為users
----------------
注釋:“user_name”表示欄位1名稱(也就是表格的第一行),“char
(16)”表示類型,“not null”表示null值不可為空 NO;
“user_passwd”表示欄位2名稱(也就是表格的第二
行),“char(48)”表示類型,“default ‘‘”表示null可以為空白 YES;
“primary key(user_name)”表示primary key(主鍵名)
-----------
mysql> INSERT INTO users(user_name,user_passwd) VALUES
(‘zhangsan‘, PASSWORD(‘123456‘)); //在users表中插入內容
mysql> INSERT INTO users VALUES(‘lisi‘, PASSWORD(‘654321‘));
//password是使用者為密碼加密的
mysql> insert into users values(‘sina‘,password(‘123abc‘));
------------刪除命令--------------
mysql> DELETE FROM users WHERE user_name=‘lisi‘;
mysql> DROP TABLE users;
mysql> DROP DATABASE benet;
----------更改命令---------
mysql> UPDATE users SET user_passwd=PASSWORD(‘‘) WHERE
user_name=‘lisi‘;
mysql> UPDATE mysql.user SET password=PASSWORD(‘123456‘) WHERE
user=‘root‘;
------------查詢命令-----------
mysql> SELECT user,host,password FROM mysql.user WHERE
user=‘‘;
mysql> select * from users; //查看user表裡的所有資訊
mysql> select user from users; //查看users表裡的user這個使用者字
段裡有哪些使用者
mysql>flush privileges; //重新整理授權資訊,
mysqladmin -u root -p password ‘123456‘ //改的是新密碼,要輸入
的是舊的密碼,在#執行。
Enter password: //輸入舊密碼
[[email protected] ~]# mysql -u root -p //登入
Enter password: //輸入之前改的密碼123456
---------------授權命令-------------------
mysql> GRANT select ON auth.* TO ‘tom‘@‘localhost‘ IDENTIFIED
BY ‘123456‘;//建立tom使用者密碼設定為123456,對其授權只能查詢以
auth開頭的所有表。
mysql> grant all on benet.* to ‘tom‘@‘192.168.80.4‘identified
by ‘123‘;
mysql>flush privileges;
GRANT語句:專門用來設定資料庫使用者的存取權限。當指定的使用者不存在時
,GRANT語句將會建立新的使用者,否則GRNAT
語句使用者修改使用者資訊。語句格式如下:
GRANT 許可權列表 ON 庫名.表名 TO ‘使用者名稱’@‘來源地
址’【IDENTFIED BY ‘密碼’】
mysql> SHOW GRANTS FOR ‘dbuser‘@‘192.168.4.19‘; (例如上面的例
子:SHOW GRANTS FOR ‘tom‘@‘localhost‘;,那個“使用者名稱@來源地址”
要是一樣的)
mysql> REVOKE all ON auth.* FROM ‘xiaoqi‘@‘localhost‘;
---------------備份與恢複命令------------------
# mysqldump -u root -p --opt --all-databases > all-data.sql //
備份所有資料庫
# mysqldump -u root -p --database benet > benet.sql //備份auth
資料庫
# mysqldump -u root -p benet users > b-user.sql //備份mysql的
user表
mysql>create benet;
#mysql -u root -p < benet.sql
# mysql -u root -p mysql < mysql-user.sql //將備份還原到mysql
資料庫中。
例子:
mysqldump -u root -p --database user > user.sql//將資料庫中名
為user的Database Backup出來(備份user這個資料庫)
mysql -u root -p < benet.sql//將備份user資料庫名資料庫
user.sql還原到資料庫中
本文出自 “NE之路” 部落格,請務必保留此出處http://332162926.blog.51cto.com/8831013/1534956