Linux下mysql安装手记

来源:互联网 发布:python默认的编码方式 编辑:程序博客网 时间:2024/05/16 08:40

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日整理

原创粉丝点击