MySQL
来源:互联网 发布:windows日程提醒软件 编辑:程序博客网 时间:2024/06/06 09:51
安装配置
安装MySQL
sudo apt-get install mysql-server
配置MySQL
注意,在Ubuntu下MySQL缺省是只允许本地访问的,如果你要其他机器也能够访问的话,那么需要改变/etc/mysql/my.cnf配置文件了!下面我们一步步地来:
默认的MySQL安装之后根用户是没有密码的,所以首先用根用户进入:
$mysql -u root
在这里之所以用-u root是因为我现在是一般用户(firehare),如果不加-u root的话,mysql会以为是firehare在登录。注意,我在这里没有进入根用户模式,因为没必要。一般来说,对mysql中的数据库进行操作,根本没必要进入根用户模式,只有在设置时才有这种可能。
进入mysql之后,最要紧的就是要设置Mysql中的root用户密码了,否则,Mysql服务无安全可言了。
mysql> GRANT ALL PRIVILEGES ON *.* TO root@localhost IDENTIFIED BY "123456";
注意,我这儿用的是123456做为root用户的密码,但是该密码是不安全的,请大家最好使用大小写字母与数字混合的密码,且不少于8位。
这样的话,就设置好了MySQL中的root用户密码了,然后就用root用户建立你所需要的数据库。我这里就以xoops为例:
mysql>CREATE DATABASE xoops;
mysql>GRANT ALL PRIVILEGES ON xoops.* TO xoops_root@localhost IDENTIFIED BY "654321";
这样就建立了一个xoops_roots的用户,它对数据库xoops有着全部权限。以后就用xoops_root来对xoops数据库进行管理,而无需要再用root用户了,而该用户的权限也只被限定在xoops数据库中。
如果你想进行远程访问或控制,那么你要做两件事:
其一:
mysql>GRANT ALL PRIVILEGES ON xoops.* TO xoops_root@"%" IDENTIFIED BY "654321";
允许xoops_root用户可以从任意机器上登入MySQL。
其二:
$sudo gedit /etc/mysql/my.cnf
老的版本中
>skip-networking => # skip-networking
新的版本中
>bind-address=127.0.0.1 => bind-address= 你机器的IP
这样就可以允许其他机器访问MySQL了。
进入mysql
mysql -uroot -p
(输入mysql的root密码)
配置 MySQL 的管理员密码:
sudo mysqladmin -u root password newpassword
添加新用户
一.Ubuntu下启动mysql方法:
/etc/init.d/sudo mysqld
二.用户添加
bin>mysql -u root
mysql> grant 权限1,权限2,...权限n on 数据库名称.表名称 to 用户名@用户地址 identified by '连接口令';
权限1,权限2,...权限n代表select,insert,update,delete,create,drop,index,alter,grant,references,reload,shutdown,process,file等14个权限。
当权限1,权限2,...权限n被all privileges或者all代替,表示赋予用户全部权限。
当数据库名称.表名称被*.*代替,表示赋予用户操作服务器上所有数据库所有表的权限。
用户地址可以是localhost,也可以是ip地址、机器名字、域名。也可以用'%'表示从任何地址连接。
'连接口令'不能为空,否则创建失败。
例如:
mysql>grant select,insert,update,delete,create,drop on vtdc.employee to joe@10.163.225.87 identified by '123';
给来自10.163.225.87的用户joe分配可对数据库vtdc的employee表进行select,insert,update,delete,create,drop等操作的权限,并设定口令为123。
mysql>grant all privileges on vtdc.* to joe@10.163.225.87 identified by '123';
给来自10.163.225.87的用户joe分配可对数据库vtdc所有表进行所有操作的权限,并设定口令为123。
mysql>grant all privileges on *.* to joe@10.163.225.87 identified by '123';
给来自10.163.225.87的用户joe分配可对所有数据库的所有表进行所有操作的权限,并设定口令为123。
mysql>grant all privileges on *.* to joe@localhost identified by '123';
给本机用户joe分配可对所有数据库的所有表进行所有操作的权限,并设定口令为123。shell> mysql -u root -p1234 mysql
mysql> insert into user(Host,User,Password) values ('localhost','_backmysql','databse');
添加一个来自本机的mysql 用户_backmysql,口令为:1234
#mysql –u root –p
mysql>;GRANT FILE ON *.* TO backup@192.168.1.200 IDENTIFIED BY ‘1234’;
mysql>;/exit
开放一个账号backup密码1234给来自IP:192.168.1.200有档案处理的权限
格式:grant 权限 on 数据库名.表名 用户@登录主机 identified by "用户密码";
mysql>;grant select,update,insert,delete on *.* to atyu30@10.0.0.100 identified by "1234";
启动、关闭和重启mysql
/etc/init.d/mysql start|stop|restart|reload|force-reload
忘记root秘密
一、以系统的root用户登陆系统,进入终端
[root@localhost /]#
二、杀掉mysql进程
方法1、
[root@localhost /]#killall mysqld
方法2、
[root@localhost /]#ps -aux //查看所有进程,找到mysql进程的pid
然后
[root@localhost /]#kill pid //pid是mysql的进程号
三、用--skip-grant-tables参数启动mysqld
[root@localhost /]#/usr/local/mysql/bin/mysqld_safe --skip-grant-tables&
// 其中/usr..../bin是我的mysql安装目录
[root@localhost /]#/usr/local/mysql/bin/mysql //进入mysql
mysql> use mysql //切换到mysql database
mysql> UPDATE user SET password=password('123456') WHERE user='root';
//将root密码该为123456了
- Mysql
- MySql
- MYSQL
- MySQL
- mysql
- mysql
- mysql
- mysql
- Mysql
- Mysql
- mysql
- MySQL
- mysql
- Mysql
- mysql
- mysql
- mysql
- mySQL
- OpenGL显卡编程
- 看看最新的全球企业市值排名,令中国人骄傲啊
- Servlet线程安全
- 基于MFC的Direct3D程序设计
- 安装sql2000
- MySQL
- CProperytSheet中的ON_UPDATE_COMMAND_UI
- C#格式化时间
- MFC打印问题
- [笔记]Win32多线程API
- 关于discovery的一些澄清和注意事项
- ASP.NET 如何取得 Request URL 的各个部分
- 全球能源企业市值TOP20 金砖四国涨幅最大
- 打印机相关设置