Linux下mysql安装手记
第一步:下载安装包。如mysql-standard-4.0.16-pc-linux-i686.tar.gz
下载的官方地址是 www.mysql.com
推荐存放目录是:/usr/local/ 同时这个也是mysql的[安装路径],[安装路径]可以是任何地方。
在下面 [安装路径]== /usr/local/
第二步:
创建一个新的组mysql和新的账号mysql,这样做是出于安全因素考虑。
shell> groupadd mysql
shell> useradd -g mysql mysql
第三步:
解压文件,建立连接目录mysql/
shell> cd [安装路径]
shell> tar zxvf mysql-standard-4.0.16-pc-linux-i686.tar.gz
shell> ln -s mysql-standard-4.0.16-pc-linux-i686 mysql
shell> cd mysql
(btw: 需要把PATH=[安装路径]/bin写到需要读取mysql的用户PATH环境)
第四步:
改变mysql安装目录的归属,改为属于mysql,这同样是出于安全因素考虑。
shell> chown -R mysql:mysql [安装路径]
第五步:
执行安装命令,可以切换到mysql用户下执行,也可以在root下执行。
shell> su - mysql
shell> ./scripts/mysql_install_db --datadir=[安装路径]/data
(说明:执行./scripts/mysql_install_db时,如果不强制指定(--datadir=),程序会把datadir默认在/var/lib/mysql,如果不是root用户,此时执行./scripts/mysql_install_db会遇到权限不足的问题。)
第六步:
shell> mkdir log
shell> su -
shell> cp /etc/my.cnf .
shell> vi my.cnf
(说明:#程序会默认去读/etc/my.cnf文件获得配置项,因此,建议把/etc/my.cnf文件拷贝到/usr/local/mysql/下面。my.cnf)
修改文件my.cnf如下:
-----------------------------------------------------
[mysqld]
datadir=[安装路径]/data
socket=[安装路径]/data/mysql.sock
port = 3406 (说明:端口可以任意指定,只要不冲突)
[mysql.server]
user=mysql
basedir=../[安装路径] ([安装路径]的上一层目录)
[safe_mysqld]
err-log=[安装路径]/log/mysqld.log
pid-file=[安装路径]/log/mysqld.pid
------------------------------------------------------
第七步:
#在启动mysqld_safe时,按如下方式运行:
shell> ./bin/mysqld_safe --defaults-file=./my.cnf --skip-grant-tables &
#就可以不需要密码就进入 MySQL 了。
#然后就是
shell> cd bin; ./mysql -h 127.0.0.1 --port=3406 -u root -p
Enter password:[Enter]
mysql> use mysql
mysql> update user set password=password("new_pass") where user="root";
mysql> flush privileges;
如果mysql需要密码验证,则如下操作
#重新杀 MySQL ,用正常方法启动 MySQL
shell> ps -fd | grep mysqld
shell> killall mysqld
shell> ./bin/mysqld_safe --defaults-file=./my.cnf -O max_allowed_packet=1M &
其它命令:
一、 增加一个数据库用户(浏览用户):
shell> mysql -u root -p
mysql> use mysql
mysql> insert into user (Host,User,Password) values('localhost','username',password('user_password'));
mysql> flush privileges;
二、授权
shell> mysql --user=root mysql
mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP
ON bankaccount.*
TO custom@localhost
IDENTIFIED BY 'stupid';
2004年8月24日整理