无法登陆
出现字样:mysqli_real_connect(): (HY000/2002): No such file or directory
打开文件:/Library/WebServer/Documents/phpadmin/libraries/config.default.php
修改为$cfg['Servers'][$i]['host'] = '127.0.0.1';
修改加密规则
修改加密规则
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
更新密码(mysql_native_password模式)
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新的密码';
禁止访问
如果出现禁止访问的字样,需要配置 apache
Forbidden
You don't have permission to access /phpadmin/ on this server.
打开该文件
/private/etc/apache2/httpd.conf
AllowOverride none
Require all denied
改为
AllowOverride none
Require all granted
Require all denied ==》 Require all granted
重启 apache sudo /usr/sbin/apachectl restart
Linux 安装 mysql
https://www.cnblogs.com/caiyunyun/p/7492373.html
https://blog.csdn.net/github_39533414/article/details/80144890
https://blog.csdn.net/qq_35098526/article/details/80077683
配置 mysql 路径
执行vim ~/.bash_profile
在该文件中添加mysql/bin完整路径:
PATH=$PATH:/usr/local/mysql/bin
添加完成后,按esc,然后输入wq保存。
最后在命令行输入source ~/.bash_profile进行加载修改后的配置文件
至此,就可以在全局环境下通过mysql -u root -p
登录mysql了,会让你输入密码,
如mysql -u root -p12345678
修改密码:SET PASSWORD FOR'root'@'localhost'=PASSWORD('newpass');
创建用户
GRANT USAGE ON*.*TO 'test'@'%' IDENTIFIED BY '123456'WITH GRANT OPTION;
重置用户
ALTER USER 'test'@'%' IDENTIFIED BY '123456';
刷新权限
flush privileges ;
-- 给用户test在数据库名为auto_dev上赋EXECUTE(执行存储过程),INSERT,SELECT,UPDATE权限,@'%'表示从任意ip都可以访问到这个数据库
SHOW GRANTS FOR test;
GRANT EXECUTE,INSERT,SELECT,UPDATE ON 数据库名.* TO 'test'@'%';
给所有的权限:
GRANT ALL PRIVILEGES ON 数据库名.* TO 'test'@'%';
命令行创建数据库
CREATE DATABASE 数据库名; # 创建数据库
show databases; #显示所有数据库列表
drop database 数据库名;# 删除数据库
use TestDB;#制定TestDB数据库为当前默认数据库
create table customers(userid int not null, username varchar(20) not null);#TestDB数据库中创建表customers
show tables;#显示数据库中的表
drop table customers;#删除表customers
desc customers;#显示customers表的结构
insert into customers(userid, username) values(1, 'hujiahui');#向customers表中插入一条记录
commit;#让操作及时生效;
select * from customers;#查询customers中的记录
update customers set username='DennisHu' where userid=1;#更新表中的数据
delete from customers; #删除表中的记录
grant select, insert, update, delete on *.* to hjh@localhost indentified by "123456";#授予hjh用户访问数据库的权限
备注:hjh是Linux用户名,123456是访问mysql的密码
mysql 禁止导出
The MySQL server is running with the --secure-file-priv option so it cannot execute this statement
出现这个字样时,需要修改配置。
1.找到 /private/etc/my.cnf
2.增加一行 secure_file_priv=''
3.重启mysql服务器
mysql导入导出数据库
1.导出整个数据库(mac下数据库导出套tmp文件夹,否则可能会报错)
mysqldump -u 用户名 -p 数据库名 > 导出的文件名
mysqldump -u dbuser -p dbname > tmp/dbname.sql
2.导出一个表
mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名
mysqldump -u dbuser -p dbname users> dbname_users.sql
3.导出一个数据库结构
mysqldump -u dbuser -p -d --add-drop-table dbname >d:/dbname_db.sql
-d 没有数据 --add-drop-table 在每个create语句之前增加一个drop table
4.导入数据库
常用source 命令
进入mysql数据库控制台,如
mysql -u root -p
mysql>use 数据库
然后使用source命令,后面参数为脚本文件(如这里用到的.sql)
mysql>source d:/dbname.sql