chown –r mysql:mysql,mysql部署,操作及异常处理

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,如下图所示。

Name

Old Default

New Default

innodb_additional_mem_pool_size

1MB

8MB

innodb_buffer_pool_size

8MB

128MB

innodb_change_buffering

inserts

all

innodb_file_format_check

ON

1

innodb_log_buffer_size

1MB

8MB

innodb_max_dirty_pages_pct

90

75

innodb_sync_spin_loops

20

30

innodb_thread_concurrency

8

0

一.创建用户:

命令: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;

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值