Linux mysql資料庫搭建

來源:互聯網
上載者:User

標籤: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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.