CentOS Mysql用戶建立設(shè)置編譯器的編譯參數(shù)
建立CentOS Mysql用戶組是CentOS用戶必須學(xué)習(xí)使用的,由于entOS Mysql用戶還有很多人不會應(yīng)用所以由我來簡述說明下,至于管用否就看人品了.CentOS是一個開源軟件貢獻(xiàn)者和用戶的社區(qū)。它對RHEL源代碼進(jìn)行重新編譯,成為眾多發(fā)布新發(fā)行版本的社區(qū)當(dāng)中的一個,并且在不斷的發(fā)展過程中安裝CentOS Mysql。
1、建立CentOS Mysql用戶組
[root@localhost ~]# grep mysql /etc/group
#查詢系統(tǒng)中是否有mysql這個用戶組,沒有則添加。
[root@localhost ~]# groupadd mysql
#增加一個名為CentOS Mysql用戶組
2、建立CentOS Mysql用戶
[root@localhost ~]# grep mysql /etc/passwd
#查詢系統(tǒng)中是否有CentOS Mysql用戶,沒有則添加。
[root@localhost ~]# useradd mysql -g mysql -M -s /sbin/nologin
#增加一個名為CentOS Mysql用戶。
-g:指定新用戶所屬的CentOS Mysql用戶組(group)
-M:不建立根目錄
-s:定義其使用的shell,/sbin/nologin代表用戶不能登錄系統(tǒng)。
3、解壓:mysql
[root@localhost ~]# cd /usr/local/src/
[root@localhost src]# tar -zxvf mysql-5.0.27.tar.gz
#……(信息略)……
#解壓縮
4、CentOS Mysql用戶設(shè)置編譯器的編譯參數(shù)
[root@localhost src]# cd /usr/local/src/mysql-5.0.27
[root@localhost mysql-5.0.27]# ./configure --prefix=/usr/local/mysql --with-unix-socket-path=/tmp/mysql.sock --localstatedir=/usr/local/mysql/data --with-charset=gbk --without-debug --enable-assembler --without-isam --with-client-ldflags=-all-static --with-mysqld-ldflags=-all-static
#這些設(shè)置告訴編譯器如何編譯apache:
–prefix=/usr/local/mysql
指定CentOS Mysql用戶安裝目錄
–with-unix-socket-path=/tmp/mysql.sock
這個是指定CentOS Mysql用戶服務(wù)器啟動后,聯(lián)機(jī)套接字文件所處的位置和文件名。
–localstatedir=/usr/local/mysql/data
指定CentOS Mysql用戶的數(shù)據(jù)庫目錄
–with-charset=gbk
添加gbk中文字符支持
–without-debug
去除debug模式
–enable-assembler
使用一些字符函數(shù)的匯編版本
–without-isam
去掉isam表類型支持,現(xiàn)在很少用了,isam表是一種依賴平臺的表
–with-client-ldflags=-all-static
–with-mysqld-ldflags=-all-static
5、CentOS Mysql用戶編譯和安裝
[root@localhost mysql-5.0.27]# make
#“make”命令把源文件編譯成可執(zhí)行的二進(jìn)制文件
[root@localhost mysql-5.0.27]# make install
#“make install”把二進(jìn)制文件和配置文件安裝在合適的目錄下
6、CentOS Mysql用戶初始化系統(tǒng)庫
[root@localhost mysql-5.0.27]# ./scripts/mysql_install_db
7、CentOS Mysql用戶其它設(shè)置
[root@localhost mysql-5.0.27]# cp support-files/my-medium.cnf /etc/my.cnf -fv
#注解:
-f,刪除目標(biāo)中同名的文件或目錄,并且不給任何提示。
#還有一些其它的my.cnf配置文件。適合不同的應(yīng)用規(guī)模。型式如my-*.cnf。根據(jù)自己的需要cp?!?BR>[root@localhost mysql-5.0.27]# cp support-files/mysql.server /etc/init.d/mysqld
#添加到起動腳本
[root@localhost mysql-5.0.27]# chmod 700 /etc/init.d/mysqld
[root@localhost mysql-5.0.27]# cd /usr/local
[root@localhost local]# chmod 750 mysql -R
#注解:
-R 遞歸改變目錄及其內(nèi)容的權(quán)限。
[root@localhost local]# chown -R mysql.mysql /usr/local/mysql
#設(shè)置所有者,mysql起動時會以mysql用戶的身份運行,這樣可以提高系統(tǒng)的安全性。
[root@localhost local]# chown -R mysql.mysql /usr/local/mysql/data
[root@localhost local]# cd /usr/local/mysql/libexec
[root@localhost libexec]# cp mysqld mysqld.old
[root@localhost libexec]# strip mysqld
[root@localhost libexec]# chkconfig –add mysqld
#添加一個服務(wù),當(dāng)然也可以手工添加服務(wù)。
[root@localhost libexec]# chkconfig –level 345 mysqld on
#設(shè)置開機(jī)時起動
[root@localhost libexec]# service mysqld start
#啟動mysql服務(wù)
[root@localhost libexec]# ln -s /usr/local/mysql/bin/mysql /sbin/mysql
[root@localhost libexec]# ln -s /usr/local/mysql/bin/mysqladmin /sbin/mysqladmin
[root@localhost libexec]# ln -s /usr/local/mysql/bin/mysqldump /sbin/mysqldump
[root@localhost libexec]# mysqladmin -uroot password “youpassword”
#設(shè)置root帳戶的密碼
[root@localhost libexec]# mysql -uroot -p
# 輸入你設(shè)置的密碼
mysql>use mysql;
mysql>delete from user where password=”";
#刪除用于本機(jī)匿名連接的空密碼帳號
mysql>flush privileges;
mysql> show databases;
+———-+
| Database |
+———-+
| mysql |
| test |
+———-+
2 rows in set (0.08 sec)
#顯示一下數(shù)據(jù)庫,測試mysql是否CentOS Mysql用戶安裝正常。
mysql> quit
如果忘記密碼,可以:
我的系統(tǒng)是linux,最近新裝好的mysql在進(jìn)入mysql工具時,總是有錯誤提示:
# mysql -uroot -p
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
使用網(wǎng)上介紹的方法修改root用戶的密碼:
# mysqladmin -uroot -p password 'newpassword'
Enter password:
mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost' (using password: YES)'
現(xiàn)在終于被我找到了解決方法,如下(請先測試方法三,謝謝?。?BR>方法一:
# /etc/init.d/mysql stop
# mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
# mysql -u root mysql
mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root';
mysql> FLUSH PRIVILEGES;
mysql> quit
# /etc/init.d/mysql restart
# mysql -uroot -p
Enter password: <輸入新設(shè)的密碼newpassword>
【編輯推薦】