ubuntu下mysql的安装:
检查mysql是否安装成功:
netstat -tap | grep mysql
登录mysql数据库: mysql (-h 10.31.44.216) -u root -p 123 #u与root可以不加空格,其他也一样
赋予任何主机访问数据的权限: mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION
(只允许1.100连接 mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.100' IDENTIFIED BY '' WITH GRANT OPTION;)
(允许所有IP访问 mysql> GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY '';)
# Grant(分配权限);on之后是数据库名和表名,第一个*表示所有的数据库;第二个*表示所有的表;identified by后面为登录用密码。
新增用户: grant select,insert,update,delete on *.* to xmh@"%" identified by "xmh"; #新增用户xmh,对所有数据库有查询、插入、修改、删除的权限
删除授权: mysql> revoke all privileges on *.* from root@"%"; #Revoke(回收权限),并未删除用户
mysql> delete from user where user="root" and host="%";
删除用户: mysql> drop user root@10.31.44.211;
使修改生效: mysql>FLUSH PRIVILEGES
退出MySQL服务器: mysql>EXIT
此时就可以远程访问mysql数据库了。
基本操作:
mysql> show databases; #查看当前数据库
mysql> use mysql #选择mysql数据库
mysql> show tables; #列出数据库表单
mysql> select user,password,host from user; #从user表列出 user、password、host 列的信息
mysql> update user set password=password("new_password") where user='root'; #修改root密码
mysql> update user set password=password("new_password") where host='%'; #修改host下%的密码
创建数据库: mysql> create database mysqldemo;
删除数据库: mysql> drop database mysqldemo;
mysql> flush privileges; #刷新权限
show databases;
show tables;
desc 表名; #列出表的所有字段
mysql -h10.31.44.133 -uroot -poraclecsg -P3306 -Ne "use spoc; select * from scalendar;" #提取表scalendar中的字段(*可用name代替)
取得字符串中指定起始位置和长度的字符串 substr( string, start_position, [ length ] )
mysql -h10.31.44.133 -uroot -poraclecsg -P3306 -Ne "use spoc; select substr(name,2,2) from scalendar;"
Linux下忘记MySQL root密码解决方法:
编辑mysql的配置文件/etc/mysql/my.cnf,在[mysqld]段下加入一行“skip-grant-tables”。
重启mysql服务
www.linuxidc.com @ubuntu:~$ sudo service mysql restart
mysql stop/waiting
mysql start/running, process 18669
用空密码进入mysql管理命令行,切换到mysql库。
mysql> use mysql
Database changed
执行update user set password=PASSWORD("new_pass") where user='root'; 把密码重置为new_pass。退出数据库管理。
mysql> update user set password=PASSWORD("new_pass") where user='root';
Query OK, 0 rows affected (0.00 sec)
Rows matched: 4 Changed: 0 Warnings: 0
mysql>quit
回到vim /etc/mysql/my.cnf,把刚才加入的那一行“skip-grant-tables”注释或删除掉。
再次重启mysql服务sudo service mysql restart,使用新的密码登陆,修改成功。