日志

Ubuntu14.04 搭建 LNMP 环境

  • 环境

系统:Ubuntu 14.04.1 LTS

下面所有的安装都通过apt-get的方式,为了防止安装过程报错建议先执行一次更新

sudo apt-get update
  • MySQL安装

sudo apt-get install mysql-server mysql-client

安装期间会出现类似如下的Y/N选择,直接Y 回车即可(下同)

root@li568-33:/# sudo apt-get install mysql-server mysql-client
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
libaio1 libdbd-mysql-perl libdbi-perl libmysqlclient18 libterm-readkey-perl
mysql-client-5.5 mysql-client-core-5.5 mysql-common mysql-server-5.5
mysql-server-core-5.5
Suggested packages:
libclone-perl libmldbm-perl libnet-daemon-perl libplrpc-perl
libsql-statement-perl tinyca mailx
The following NEW packages will be installed:
libaio1 libdbd-mysql-perl libdbi-perl libmysqlclient18 libterm-readkey-perl
mysql-client mysql-client-5.5 mysql-client-core-5.5 mysql-common
mysql-server mysql-server-5.5 mysql-server-core-5.5
0 upgraded, 12 newly installed, 0 to remove and 123 not upgraded.
Need to get 0 B/9,260 kB of archives.
After this operation, 96.5 MB of additional disk space will be used.
Do you want to continue? [Y/n]y

中途会出现新的界面设置MySQL的root用户密码

首先设置root密码:yourpassword
然后重复输入root密码:yourpassword

等安装结束后输入以下命令查看是否成功

mysql --version

正常会显示类似以下的版本信息,则安装完成

mysql  Ver 14.14 Distrib 5.5.43, for debian-linux-gnu (x86_64) using readline 6.3

mysql的配置文件在:/etc/mysql/my.cnf
例如:若要允许远程访问请注释my.cnf 的 bind_address 127.0.0.1

  • Nginx安装

阅读全文

日志

MySQL修改用户密码和重命名用户名

  • 修改用户密码

mysql修改用户密码通过 SET PASSWORD 语句实现

# 修改当前用户的密码

SET PASSWORD = PASSWORD('密码文本') | OLD_PASSWORD('密码文本') | '密码哈希'

注意:OLD_PASSWORD方法使用 mysql 4.1版本以前 的方式对密码进行哈希加密处理,高版本mysql可以通过此方式兼容旧版的用户密码

# 修改用户 alice 的密码为 123456(必须具备 `mysql` 数据库的 UPDATE 权限),host不指定时默认为 '%'

SET PASSWORD FOR 'alice'@'localhost' =  PASSWORD('123456');
  • 重命名用户

mysql修改用户名通过 RENAME USER 语句实现

# 将 alice 用户名修改为 bob,host不指定时默认为 '%'

# 必须要具备`mysql` 数据库的 UPDATE 权限或 CREATE USER 权限,当系统变量 read_only 为 enabled 时还需具备SUPER权限

RENAME USER 'alice'@'localhost' TO 'bob'@'localhost';
转载请注明出处:

© http://hejunhao.me

日志

MySQL添加用户、授权和访问控制

  • 有哪些方式?

你可以通过两种方式创建MySQL用户:

  1. 通过账户管理语句,例如GRANT、CREATE USER等.
  2. 直接用INSERT、UPDATE、DELETE等语句操作MySQL的授权表(mysql.user、mysql.host、mysql.db、mysql.tables_priv、mysql.columns_priv)

显然方式1比方式2更简洁和有助于减少错误

另外你也可以通过GUI工具(如:MySQL WorkBench)或第三方程序(如:phpmyadmin)

  • 通过账户管理语句实现

a) 通过root用户(或具备CREATE USER 权限的用户)连接mysql

mysql -u root -p 你的用户密码

b) CREATE USER 语句用法

# 创建一个名为 alice 密码为 alicepass 的用户,该用户只能从 localhost 连接

CREATE USER 'alice'@'localhost' IDENTIFIED BY 'alicepass';
# 创建一个名为 bob 密码为 bobpass 的用户,允许该用户从任意host连接

CREATE USER 'bob'@'%' IDENTIFIED BY 'bobpass';
# 创建一个名为 chris 密码为 chrispass 的用户,该用户允许从任何 example.com 域名下的host来连接

CREATE USER 'chris'@'%.example.com' IDENTIFIED BY 'chrispass';

c) GRANT 语句用法

# 给 alice 用户分配所有权限,必须要从 localhost 连接

GRANT ALL PRIVILEGES ON *.* TO 'alice'@'localhost' WITH GRANT OPTION;
# 给  bob 用户分配所有数据库的 RELOAD、PROCESS 权限,并且可以把这些权限授权给其他用户(WITH GRANT OPTION的作用)

GRANT RELOAD,PROCESS ON *.* TO 'bob'@'%' WITH GRANT OPTION;
# 给 chris 用户分配 customer 数据库的 SELECT,INSERT,UPDATE,DELETE,CREATE,DROP 权限,必须从任何 example.com 域名下的host来连接

GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP ON customer.* TO 'chris'@'%.example.com';

d) REVOKE 语句用法

# 撤销 david 用户所有数据库的所有权限

REVOKE ALL PRIVILEGES ON *.* FROM 'david'@'%';

e) DROP USER 语句用法

# 删除 alice 用户,不再允许该用户从localhost连接,不指定host时默认为 '%' ,DROP USER不会自动关闭任何已经打开的用户SESSION,一旦SESSION被关闭则该用户即被移除

DROP USER 'alice'@'localhost';
转载请注明出处:

© http://hejunhao.me

日志

Reset root password with wrong mysql config

Step1 :Go to your xampp\mysql\bin\ folder
Step2 :Edit my.ini and insert skip-grant-tables below [mysqld]
Step3 :Restart MySQL
Step4 :Set new password for your root user by running

UPDATE mysql.user SET Password=PASSWORD('new_password') WHERE User='root'

in phpMyAdmin in the mysql database (or just leave it like this if MySQL cannot be accessed from remote hosts)

THIS WORKED FOR ME :)