export mysql home_mysql

忙碌了一周终于有时间总结一下

1.部署mysql:

(1) 二进制部署(推荐): 虽然安装较为麻烦,但是mysql的目录是定制化的

(2) rpm包(不推荐):

~ yum install mysql-server yum install mysql-client

~ 部署简单但是目录固化

(3) 如何安装

a) 打开/usr/local文件夹: cd /usr/local

b) 解压jdk并且新建/usr/java, 将jdk解压后的文件移动到/usr/java

c) 配置全局环境变量并生效:

~ vi /etc/profile

~ export JAVA_HOME=/usr/java/jdk1.8.0_191

~ export PATH=$PATH:$JAVA_HOME/bin

~ source /etc/profile

(4) 安装步骤

a) 首先检查是否已经安装

ps -ef | grep mysqld

b) 再查看是否有rpm包

rpm -qa | grep -i mysql

c) 解压mysql的tar包

d) 创建用户组与用户

~ groupadd -g 101 dba : 新增组dba,并赋予组id为101

~ useradd -u 514 -g dba -G root -d /usr/local/mysql mysqladmin

新增用户mysqladmin, 其home directory为/usr/local/mysql

id为514,主组为dba, 副组为root

~ 如果用户已存在, 修改其的一些信息:

usermod -u 514 -g dba -G root -d /usr/local/mysql mysqladmin

~ copy环境变量配置文件到mysqladmin的home directory

cp /etc/skel/.* /usr/local/mysql

~ 创建mysql的配置文件: /etc/my.cnf

~ 修改my.cnf的一些内容

innodb_buffer_pool_size

e) 修改配置文件my.cnf的用户与用户组

chown mysqladmin:dba /etc/my.cnf

f) 修改my.cnf的权限

chmod 640 /etc/my.cnf

g) 修改配置文件mysql文件夹的用户与用户组

chown mysqladmin:dba /usr/local/mysql

h) 修改mysql的权限

chmod -R 755 /usr/local/mysql

i) 创建binlog文件

L) 配置mysql的信息

scripts/mysql_install_db --user=mysqladmin --basedir=/usr/local/mysql

--datadir=/usr/local/mysql/data

(5) 配置mysql服务并配置开机自启动

a) 首先切换到/usr/local/mysql,将服务文件拷贝到init.d下,并重命名为mysql

cp support-files/mysql.server /etc/rc.d/init.d/mysql

b) 对mysql文件赋予执行权限

chmod +x /etc/rc.d/init.d/mysql

c) 删除mysql服务

chkconfig --del mysql

d) 添加mysql服务

chkconfig --add mysql

e) 设置开机自启动

chkconfig mysql on

~ 如果chkconfig mysql on没有起作用,vi /etc/rc.local文件,

添加su - mysqladmin -c "/etc/init.d/mysql start --federated"

(6) 启动mysql进程并监听

a) 首先切换到mysqladmin用户

su - mysqladmin

b) 由于mysql在安装的时候自动在home directory 创建一个my.cnf文件,尽量删除

rm -rf my.cnf

c) 配置个人环境变量

在Home directory中.bash_profile文件中添加

~ export MYSQL_HOME=/usr/local/mysql

~ export PATH=$MYSQL_HOME/bin:$PATH

d) 启动mysql

~ mysqld_safe & , 执行之后按回车键,程序直接后台运行

(7) 查找mysql的端口号

a) ps -ef | grep mysql

b) netstat -nlp | grep pid

(8) 配置局部变量

vi .bash_profile

`export MYSQL_HOME=/usr/local/mysql`

`export PATH=$MYSQL_HOME/bin:$PATH`

登录mysql

(1) 直接输入mysql

Mysql常用命令

(1) show databases;

会出现如下的结果

+--------------------+

| Database |

+--------------------+

| information_schema |

| mysql |

| performance_schema |

| test |

+--------------------+

(2) use mysql: 使用mysql数据库

(3) show tables: 显示mysql数据库一共有多少张表

如下(一共28张表)

+---------------------------+

| Tables_in_mysql |

+---------------------------+

| columns_priv |

| db |

| event |

| func |

| general_log |

| help_category |

| help_keyword |

| help_relation |

| help_topic |

| innodb_index_stats |

| innodb_table_stats |

| ndb_binlog_index |

| plugin |

| proc |

| procs_priv |

| proxies_priv |

| servers |

| slave_master_info |

| slave_relay_log_info |

| slave_worker_info |

| slow_log |

| tables_priv |

| time_zone |

| time_zone_leap_second |

| time_zone_name |

| time_zone_transition |

| time_zone_transition_type |

| user |

+---------------------------+

(4) 从user表查询用户信息

`select from user, password, host from user;`

+------+----------+--------------+

| user | password | host |

用户 密码 允许外面机器(ip)

+------+----------+--------------+

| root | | localhost |

| root | | bogon |

| root | | 127.0.0.1 |

| root | | ::1 |

| | | localhost |

| | | bogon |

+------+----------+--------------+

(5) 修改用户密码

`update user set password=password('123456') where user='root';`

之后再查询user表显示如下

+------+-------------------------------------------+-----------+

| user | password | host |

+------+-------------------------------------------+-----------+

| root | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 | localhost |

| root | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 | bogon |

| root | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 | 127.0.0.1 |

| root | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 | ::1 |

| | | localhost |

| | | bogon |

+------+-------------------------------------------+-----------+

(5) 删除空用户

`delete from user where user = '';`

因为空账号和空密码是十分危险的

(6) 刷新权限

`flush privileges;`

对于用户表的操作都加这句话。

(7) 创建数据库

`create database henrydb`

(8) 赋予权限

`grant all privileges on henrydb.* to henry@'127.0.0.1' identified by '123456'`

在127.0.0.1的ip下使用henry用户访问数据库

`grant all privileges on henrydb.* to henry@'%' identified by '123456'`

在所有ip下使用henry用户访问数据库

`grant all privileges on henrydb.* to henry@'133.122.111.0' identified by '123456'`

如果ip总在变,使用该方法配置

创建henry用户, 赋予henrydb的所有权限给henry用户,密码是123456

不要忘记`flush privileges`

(9) 使用henry用户进入mysql

`mysql -u henry -p -h 127.0.0.1`

此时再show databases 显示如下

+--------------------+

| Database |

+--------------------+

| information_schema |

| henrydb |

| test |

+--------------------+

由于mysql和performance_schema 权限较高,无法被henry用户查看。

(10) 正确进入数据库的命令

`mysql -uroot -p -h127.0.0.1 -P3306`

`mysql -uroot -p123456 -h127.0.0.1 -P3306`

(注意-p后面不能接空格,因为会将空格看成为密码的一部分)

4.删除MySQL

(1) rm -rf $MYSQL_HOME/arch/* 删除binlog

(2) rm -rf $MYSQL_HOME/data/* 删除数据

补充

(1) 如果命令过长怎办

scripts/mysql_install_db \

--user=mysqladmin \

--basedir=/usr/local/mysql \

--datadir=/usr/local/mysql/data

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值