您的位置:首页 > 数据库 > MySQL

mysql数据库的安装,mysql函数

2017-01-04 11:56 896 查看
mysql zip版本的安装和配置

Navicat for MySQL macOS  x
Navicat Premium 12 for Mac 12.0.23 破解版 x

#my.ini 名字是my.ini 要把my-default.int改掉
#默认密码:`1Q2W3E4R5T^&*        @1q2w3e4r@

[mysqld]
#下面这个是第一次安装zip版本的时候一定要打开,安装完成,注释掉,意思跳过密码验证;否则root有默认的
skip-grant-tables

basedir = E:\Tools\mysql5717
datadir = E:\Tools\mysql5717\data
port = 3306
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为UTF8;支持emjo表情
character-set-server=utf8mb4
#开启定时任务Event
event_scheduler = 1
1:注意  my-default.ini 改名my.ini

2:注意取消mysql的安全验证:
2:修改root的密码, mysql root 远程访问 ,限制root远程访问
,从"localhost"改称"%"

net  stop mysql
net start mysql
必须保留的2个文件夹



以skip-grant-tables启动数据库,修改掉root密码,然后在重新启动,登录数据库;

新安装的mysql没有设置密码,错误1045

修改mysql默认密码,知道原来的密码:
方法3:用UPDATE直接编辑user表
首先登录MySQL。
mysql> use mysql;
mysql> update user SET authentication_string = (password('`1Q2W3E4R5T^&*')) WHERE user = 'root';
mysql> flush privileges;
mysql5.7的mysql.user表下为什么没有password字段了,

改成了authentication_string字段。


mysql函数
&-1:比如把所有用户昵称为空的人,昵称全部变成手机号中间带有四位****UPDATE tb_xa_user SET user_name = concat(SUBSTR(mobile,1,3),'****',SUBSTR(mobile, -4)) WHERE length(user_name) = 0&-2:把集合变成逗号分割的形式,经常在子查询DELETE FROM sys_menu menu WHERE
menu.menu_id in (
(SELECT GROUP_CONCAT(a.menu_id) FROM sys_menu a LEFT JOIN sys_menu b on a.parent_id = b.menu_id WHERE a.type = 2 and b.menu_id is NULL)
) ;&-3: 字符串连接函数select concat('11','22',null); 结果是<null>

select concat_ws(',','11','22','33'); 结果:11,22,33&-4:IFNULLSELECT o.create_time,IFNULL(o.price,0),'1' TYPE FROM tb_xa_charge_reward o&-5:日期处理函数:SELECT o.pay_time,ifnull(o.order_price,0) * (userRules/100),'1' type FROM tb_xa_order o where o.order_status=5 and DATE_FORMAT(o.pay_time,'%Y-%m-%d')<DATE_FORMAT(DATE_ADD(now(),INTERVAL -30 day),'%Y-%m-%d') and o.business_id=userId&-6:大小写函数、union all、ordrby rand()、存储过程CREATE PROCEDURE `pro_home_search`(`searchKey` VARCHAR(255), `begins` INT(11), `counts` INT(11)) COMMENT '首页多模块搜索'
SELECT id, name, type, typeName FROM (
SELECT id AS id , title AS name, 1 as type, '服务公共' as typeName FROM tb_xa_service_common WHERE status <> 3 AND (UPPER(title) LIKE searchKey OR LOWER(title) LIKE searchKey)
UNION ALL
SELECT id AS id , nurse_name AS name, 12 as type, '家政护理' as typeName FROM tb_xa_domesticnursing WHERE status <> 3 AND (UPPER(nurse_name) LIKE searchKey OR LOWER(nurse_name) LIKE searchKey)
UNION ALL
SELECT id AS id , merchant_name AS name, 13 as type, '医疗服务|医疗康复' as typeName FROM tb_xa_medicalservice WHERE status <> 3 AND (UPPER(merchant_name) LIKE searchKey OR LOWER(merchant_name) LIKE searchKey)
UNION ALL
SELECT id AS id , nurse_training_name AS name, 14 as type, '护理培训|培训义工' as typeName FROM tb_xa_nursetraining WHERE status <> 3 AND (UPPER(nurse_training_name) LIKE searchKey OR LOWER(nurse_training_name) LIKE searchKey)
UNION ALL
SELECT id AS id , vsdc_name AS name, 15 as type, '义工中心' as typeName FROM tb_xa_vsdc WHERE status <> 3 AND (UPPER(vsdc_name) LIKE searchKey OR LOWER(vsdc_name) LIKE searchKey)
UNION ALL
SELECT id AS id , institution_name AS name, 2 as type, '机构' as typeName FROM tb_xa_institution WHERE status <> 3 AND (UPPER(institution_name) LIKE searchKey OR LOWER(institution_name) LIKE searchKey)
UNION ALL
SELECT id AS id , hotel_rooms_name AS name, 22 as type, '机构养老院' as typeName FROM tb_xa_inshotelroomstable WHERE status <> 3 AND (UPPER(hotel_rooms_name) LIKE searchKey OR LOWER(hotel_rooms_name) LIKE searchKey)
UNION ALL
SELECT id AS id , shop_product_name AS name, 3 as type, '普通商品' as typeName FROM tb_xa_shop WHERE status = 2 AND (UPPER(shop_product_name) LIKE searchKey OR LOWER(shop_product_name) LIKE searchKey)
UNION ALL
SELECT id AS id , works_name AS name, 4 as type, '艺术品' as typeName FROM tb_xa_autherworkstable WHERE status <> 3 AND (UPPER(works_name) LIKE searchKey OR LOWER(works_name) LIKE searchKey)
UNION ALL
SELECT id AS id , author_name AS name, 42 as type,'作者' as typeName FROM tb_xa_artinformation WHERE status <> 3 AND (UPPER(author_name) LIKE searchKey OR LOWER(author_name) LIKE searchKey)
UNION ALL
SELECT id AS id , travel_item_name AS name, 5 as type, '游学|旅游' as typeName FROM tb_xa_traveltable WHERE status <> 3 AND (UPPER(travel_item_name) LIKE searchKey OR LOWER(travel_item_name) LIKE searchKey)
) RESULT
ORDER BY rand() LIMIT begins, countsunion 使用,连接多张表:CREATE PROCEDURE pro_gains(IN userId BIGINT, IN b INT, IN c INT)
BEGIN
-- 变量,经销商返点规则
DECLARE userRules int DEFAULT 0;
-- 查询返点规则和账期给对应变量
select s.user_rules into userRules from tb_xa_setting s where s.id=1;
SELECT * from
(SELECT rs.create_time,o.order_price * (userRules/100),'2' type from tb_xa_returnshoprecord rs INNER JOIN tb_xa_order o on rs.order_no=o.order_no where o.business_id=userId and rs.audit_result=1 and o.order_status=8
UNION
SELECT c.create_time,c.cash_money,'3' type from tb_xa_cashrecord c where c.audit_result=1 and c.user_id=userId
UNION
SELECT o.pay_time,ifnull(o.order_price,0) * (userRules/100),'1' type FROM tb_xa_order o where o.order_status=5 and DATE_FORMAT(o.pay_time,'%Y-%m-%d')<DATE_FORMAT(DATE_ADD(now(),INTERVAL -30 day),'%Y-%m-%d') and o.business_id=userId
UNION
SELECT o.create_time,IFNULL(o.price,0),'1' TYPE FROM tb_xa_charge_reward o WHERE o.business_id=userId and o.create_user IS NULL and o.price IS NOT NULL and o.price<>0
UNION
SELECT o.create_time,IFNULL(o.price,0),'4' TYPE FROM tb_xa_charge_reward o WHERE o.business_id=userId and o.create_user IS NOT NULL and o.price IS NOT NULL and o.price<>0
) t ORDER BY t.create_time desc limit b,c;
end;


mysql数据导出然后导入导致报错:
java.sql.SQLException: The user specified as a definer ('exiaodao'@'%') does not exist

原因是修改了数据库访问的用户,存储过程,视图,函数的definer改变了,导致访问不了
手工用navicat修改一下definer

  【阿里云】尊敬的阿里云用户:
云盾检测到您云服务器106.14.66.218自建的Mysql数据库存在弱口令问题,可能会造成数据被删勒索或数据泄露的风险,请您尽快修改密码并建议您不要将Mysql管理端口开放到外网,具体修复方式参见
Mysql服务安全加固 阿里云

mysql中系统数据库
mysql:user表所有的用户;
修改密码以能够在客户端登陆:set password for root@localhost = password('123');
//选择数据库
use mysql;
//修改密码
update user set password=password('新密码') where user='root';
//立即生效
flush privileges

MySQL中用户权限、库权限、表权限的控制

mysql开启定时任务或者时间Event有没有开启
1:如何设置
2:怎么开启
SHOW VARIABLES LIKE 'event_scheduler'

mysql创建数据库并给授予最低权限

--创建用户、设置默认数据库、修改密码过期策略
CREATE USER 'nongpinguser'@'%' IDENTIFIED BY 'nongping|__^^^';     
 create database `nongpingdb` DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_general_ci;      
grant all privileges on `nongpingdb`.* to 'nongpinguser'@'%' identified by 'nongping|__^^^';     
ALTER USER 'nongpinguser'@'%' PASSWORD EXPIRE NEVER;
flush privileges;

如果给ourslookPortaluser分配所有表的权限,ourslookdb 变成 *.* 
mysql表被锁定处理select * from information_schema.innodb_trx;
kill id ;上学期间的使用的命令-1_1mysql导出sql,导入sql创建新的数据库:



1.0mysql基本操作演示在dos下



mysql过期策略-MySQL的用户密码过期功能详解 xexpire password policy : default(默认) 、immediate(立即) 、interval( 间隔)、never(绝不)
EXPIRE INTERVAL 30 DAY; 间隔时间30
EXPIRE NEVER; 禁用密码过期
EXPIRE DEFAULT;默认策略密码过期mysql连接情况,http://blog.csdn.net/wsf568582678/article/details/53636747:-- Mysql 查看连接数,状态 最大并发数(赞)
show variables like '%max_connections%';-- 查看最大连接数
show status like 'Threads%'; -- Threads_running是代表当前并发数;Threads_connected这个数值指的是打开的连接数;
show status; -- 显示数据库的状态
show processlist; --查看具体的连接情况
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: