安装:sudo apt-get install mysql-server
修改密码:update mysql.user set password=PASSWORD('密码') where User='root';
建库:
create database xx charset=utf8 collate utf8_general_ci
建表:
create table xxx(
id int auto_increment NOT NULL PRIMAEY KEY,
name varchar(20),
city varchar(20),
state varchar(20),
street varchar(20),
zip varchar(20)
)
显示表的结构:describe xxx;
插入数据:insert into xxx values("a","a");
Mysql访问权限(外网访问Mysql)
创建用户
insert into mysql.user(Host,User,Password) values("localhost","phplamp",password("1234"));
刷新系统权限表
查看当前用户(自己)权限:
show grants;
查看其他 MySQL 用户权限:
show grants for dba@localhost;
对指定数据库给用户所有本地权限
GRANT ALL PRIVILEGES ON `database`.* TO 'user'@'localhost' IDENTIFIED BY "password"
对所有数据库给用户所有本地权限
GRANT ALL PRIVILEGES ON *.* TO 'user'@'localhost' IDENTIFIED BY "password"
给用户远程访问数据库权限
把localhost换成%
权限操作应用:
mysql>flush privileges;
表操作法insert into mysql.user(Host,User,Password) values("%","hadoop",password("sivc303"));:
在设置远程访问后 同时允许本地访问:grant all on dbname.* to dbuser@localhost identified by 'dbpasswd';
查看用户权限
SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;
撤销已经赋予给 MySQL用户权限的权限。
revoke 跟 grant 的语法差不多,只需要把关键字 “to”换成 “from”即可:
注:如果还是不能外部访问,可能是mysql的my.cnf中bind可能是127.0.0.1,如图1,用netstat -an|grep 3306查看:
这时我们需要修改my.cnf文件,(有教程说改成外网IP,我改了之后确实连接上了,但后来有一天jdbc死活连不上,我整了两天才发现是这个成因),所以我们应该把bind-address禁掉,如果本来就是禁掉的,可以打开注释,改成bind_address=0.0.0.0
(在MYSQL 5.1.40以上的版本中,用bind_address替代了skip-networking,默认的bind_address=127.0.0.1 只监听本地的请求
改为bind_address=0.0.0.0监听所有请求)
修改后重启mysql:
server mysql restart
本文详细介绍了如何在Linux环境下安装MySQL服务器、修改密码、创建数据库、建立表、插入数据,并涉及MySQL的权限配置,包括内外网访问权限的设置、用户权限的授予与撤销等关键步骤。

被折叠的 条评论
为什么被折叠?



