1、将mysql-5.1.50-linux-x86_64-glibc23.tar.gz移至/usr/local/目录下,并改名为mysql

增加mysql组

#groupadd mysql

建mysql用户,并加入到mysql组中

#useradd –g mysql mysql 

源码包解压

#tar mysql-5.1.50-linux-x86_64-glibc23.tar.gz 

将解压后的源码包放置/usr/local,并改名为mysql

#mv mysql-5.1.50-linux-x86_64-glibc23 /usr/local/mysql

进入目录

#cd /usr/local/mysql

设置目录的所属用户为mysql

#chown -R mysql /usr/local/mysql

目录的所属组为mysql

#chgrp -R mysql /usr/local/mysql 

初始化数据库,一定要在mysql根目录中执行mysql_install_db、默认在/user/local/mysql/data

#/usr/local/mysql/scripts/mysql_install_db -user=mysql

设置目录的所属用户为root

#chown -R root /usr/local/mysql  

设置目录的所属用户为mysql

#chown -R mysql /usr/local/mysql/data  

复制mysql的配置文件到/etc目录下,并改名为my.cnf;新版本不用复制,在mysql目录下

#cp /usr/local/mysql/support-files/my-huge.cnf /etc/my.cnf

配置文件的选择根据物理内存的大小,配置文件中都有相应的说明


复制启动脚本到/etc/rc.d/init.d目录下,并命名为mysqld

#cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld

立即启动mysql ,但重启后无效

#service mysqld start  

设置mysql的密码为123456(安装好mysql之后默认密码为空,mysql启动后才可以设置密码)

#/usr/local/mysql/bin/mysqladmin -u root password 123456

然后输入密码进入mysql ,退出mysql命令quit;(分号要有)

#/usr/local/mysql/bin/mysql -u root -p

将mysqld添加到开启自启动的序列中

#chkconfig --add mysqld 

设置mysql为重启自启动

#chkconfig mysqld on  

查看mysql的启动状态

#chkconfig --list mysqld 

如果2345为关闭就执行#chkconfig -level 2345 mysqld on


备注:

查找错误日志的目录/usr/local/data 这个目录中的***.err文件

如果执行下面的语句能启动mysql,一般都是目录的权限问题

# /usr/local/mysql/bin/mysqld_safe  –user=root  &

下面的方式也可以实现自启动,但是不推荐,相当于win32平台下的程序>启动

#echo “/usr/local/mysql/bin/mysqld_safe  –user=root  &” >> /etc/rc.local


异常:

 ERROR: InnoDB: Cannot allocate memory for the buffer pool

上面需要调整只要重新设置innodb_buffer_pool_size即可。官方文档默认值给出的是128M,如下图所示。


ERROR:FATAL ERROR: please install the following Perl modules before executing

yum list | grep perl-Module-Install

yum install -y perl-Module-Install


ERROR:error while loading shared libraries: libaio.so.1

yum install -y libaio


NameOld DefaultNew Default
innodb_additional_mem_pool_size1MB8MB
innodb_buffer_pool_size8MB128MB
innodb_change_bufferinginsertsall
innodb_file_format_checkON1
innodb_log_buffer_size1MB8MB
innodb_max_dirty_pages_pct9075
innodb_sync_spin_loops2030
innodb_thread_concurrency80


一.创建用户:

       命令:CREATE USER 'username'@'host' IDENTIFIED BY 'password';

       说明:username - 你将创建的用户名, host - 指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost, 如果想让该用户可以从任意远程主机登陆,可以使用通配符%. password - 该用户的登陆密码,密码可以为空,如果为空则该用户可以不需要密码登陆服务器.


      例子: CREATE USER 'dog'@'localhost' IDENTIFIED BY '123456';

               CREATE USER 'pig'@'192.168.1.101_' IDENDIFIED BY '123456';

               CREATE USER 'pig'@'%' IDENTIFIED BY '123456';

               CREATE USER 'pig'@'%' IDENTIFIED BY '';

               CREATE USER 'pig'@'%';


二.授权:

      命令:GRANT privileges ON databasename.tablename TO 'username'@'host'

     说明: privileges - 用户的操作权限,如SELECT , INSERT , UPDATE 等(详细列表见该文最后面).如果要授予所的权限则使用ALL.;databasename - 数据库名,tablename-表名,如果要授予该用户对所有数据库和表的相应操作权限则可用*表示, 如*.*.

      例子: GRANT SELECT, INSERT ON test.user TO 'pig'@'%';

               GRANT ALL ON *.* TO 'pig'@'%';


      注意:用以上命令授权的用户不能给其它用户授权,如果想让该用户可以授权,用以下命令:

           GRANT privileges ON databasename.tablename TO 'username'@'host' WITH GRANT OPTION;


开启远程权限:

mysql> GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "root";
mysql> flush privileges;



对库设置权限:

mysql> GRANT ALL ON ${database}.* TO root@"%";
mysql> flush privileges;


撤销用户权限:

mysql> revoke all on ${database}.* from root@"%" ;


三.设置与更改用户密码:

     命令:SET PASSWORD FOR 'username'@'host' = PASSWORD('newpassword');如果是当前登陆用户用SET PASSWORD = PASSWORD("newpassword");

      例子: SET PASSWORD FOR 'pig'@'%' = PASSWORD("123456");


四.撤销用户权限:

      命令: REVOKE privilege ON databasename.tablename FROM 'username'@'host';

      说明: privilege, databasename, tablename - 同授权部分.

      例子: REVOKE SELECT ON *.* FROM 'pig'@'%';

      注意: 假如你在给用户'pig'@'%'授权的时候是这样的(或类似的):GRANT SELECT ON test.user TO 'pig'@'%', 则在使用REVOKE SELECT ON *.* FROM 'pig'@'%';命令并不能撤销该用户对test数据库中user表的SELECT 操作.相反,如果授权使用的是GRANT SELECT ON *.* TO 'pig'@'%';则REVOKE SELECT ON test.user FROM 'pig'@'%';命令也不能撤销该用户对test数据库中user表的Select 权限.

      具体信息可以用命令SHOW GRANTS FOR 'pig'@'%'; 查看.


五.删除用户:

      命令: DROP USER 'username'@'host';


六.导入sql的命令行如下:

mysql> source "路径名"/filename.sql


七. 列出所有数据库

  mysql>show database;

 

八. 切换数据库

  mysql>use '数据库名';

 

九. 列出所有表

  mysql>show tables;

 

十. 显示数据表结构

  mysql>describe 表名;

 

十一. 创建数据库

  mysql>create database 数据库名;


十二. 删除数据库和数据表:

  mysql>drop database 数据库名;

  mysql>drop table 数据表名;


十三.数据导入导出

1、导出数据库为dbname的表结构(其中数据库为root,密码为dbpasswd,生成的脚本名為db.sql)

mysqldump -uroot -pdbpasswd -d dbname >db.sql;


2、导出数据库为dbname某张表(test)结构

mysqldump -uroot -pdbpasswd -d dbname test>db.sql;


3、导出数据库为dbname所有表结构及表数据(不加-d)

mysqldump -uroot -pdbpasswd  dbname >db.sql;


4、导出数据库为dbname某张表(test)结构及表数据(不加-d)

mysqldump -uroot -pdbpasswd dbname test>db.sql;


5、导入数据库

mysql> source db.sql;



没有登录不能评论
头像 系统管理员
加入基本操作命令
2016-01-06 12:47:03
头像 系统管理员
成功部署mysql
2015-05-06 09:22:42