• mysql压缩包的安装、配置、配成windows服务、远程连接及常规问题


    1、下载windows安装包

    下载地址:mysql-5.7.18

    2、配置my.ini

    [client]
    port = 3306 # 设置mysql客户端连接服务端时默认使用的端口
    [mysql]
    default-character-set=utf8 # 设置mysql客户端默认字符集
    [mysqld]
    port=3306 # mysql服务端默认监听(listen on)的TCP/IP端口
    
    basedir="D:/software/Java/mysql-5.7.18-winx64/" # 基准路径,其他路径都相对于这个路径
    
    datadir="D:/software/Java/mysql-5.7.18-winx64/Data" # mysql数据库文件所在目录
    
    character-set-server=utf8 # 服务端使用的字符集默认为8比特编码的latin1字符集
    
    default-storage-engine=INNODB # 创建新表时将使用的默认存储引擎
    
    max_connections=100 # mysql服务器支持的最大并发连接数(用户数)。但总会预留其中的一个连接给管理员使用超级权限登录,即使连接数目达到最大限制。如果设置得过小而用户比较多,会经常出现“Too many connections”错误。
    
    query_cache_size=0 # 查询缓存大小,用于缓存SELECT查询结果。如果有许多返回相同查询结果的SELECT查询,并且很少改变表,可以设置query_cache_size大于0,可以极大改善查询效率。而如果表数据频繁变化,就不要使用这个,会适得其反
    
    table_open_cache=256 # 这个参数在5.1.3之前叫table_cache,之后的版本中叫做table_open_cache,用于设置table高速缓存的数量。由于每个客户端连接都会至少访问一个表,因此此参数的值与       max_connections有关。当某一连接访问一个表时,MySQL会检查当前已缓存表的数量。如果该表已经在缓存中打开,则会直接访问缓存中的表已加快查询速度;如果该表未被缓存,则会将当前的表添加进缓存并进行查询。在执行缓存操作之前,table_cache用于限制缓存表的最大数目:如果当前已经缓存的表未达到table_cache,则会将新表添加进来;若已经达到此值,MySQL将根据缓存表的最后查询时间、查询率等规则释放之前的缓存。
    
    tmp_table_size=34M # 内存中的每个临时表允许的最大大小。如果临时表大小超过该值,临时表将自动转为基于磁盘的表(Disk Based Table)。
    
    thread_cache_size=8 # 缓存的最大线程数。当客户端连接断开时,如果客户端总连接数小于该值,则处理客户端任务的线程放回缓存。在高并发情况下,如果该值设置得太小,就会有很多线程频繁创建,线程创建的开销会变大,查询效率也会下降。一般来说如果在应用端有良好的多线程处理,这个参数对性能不会有太大的提高。
    • 并在MySQL根目录下创建data文件夹

    3、安装并配置成windows启动

    以管理员身份运行cmd,并进入到mysql的bin目录下,运行以下命令

    mysqld --romve 删除mysql服务
    mysqld --install 安装mysql服务
    mysqld --initialize 一定要初始化//mysqld --initialize-insecure自动生成无密码的root用户,mysqld --initialize自动生成带随机密码的root用户。data文件夹不为空是不能执行这个命令的。
    net start mysql

    如果还是启动不成功,如果报错,先看配置文件my.ini是否有误,接着删除data目录下文件,重新运行上面的命令。

    4、远程连接

    • 改表法

    可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入MySQL后,更改 “mysql” 数据库里的 “user” 表里的 “host” 项,从”localhost”改称”%”

    mysql -u root -p
    
    mysql>use mysql;
    
    mysql>update user set host = '%' where user = 'root';
    
    mysql>select host, user from user;
    • 授权法
    在安装mysql的机器上运行:
    
    1、d:mysqlin>mysql -h localhost -u root
    
    //这样应该可以进入MySQL服务器
    
    2、mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION
    
    //赋予任何主机访问数据的权限
    
    例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。
    
    GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%'IDENTIFIED BY 'mypassword' WI
    
    TH GRANT OPTION;
    
    如果你想允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器,并使用mypassword作为密码
    
    GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3'IDENTIFIED BY
    
    'mypassword' WITH GRANT OPTION;
    
    3、mysql>FLUSH PRIVILEGES
    
    //修改生效
    
    4、mysql>EXIT
    
    退出MySQL服务器,这样就可以在其它任何的主机上以root身份登录

    如果上面做了还不能起作用,那就是防火墙屏蔽了端口,只要在防火墙过滤掉数据库的端口,就可以啦!具体操作参考:http://jingyan.baidu.com/article/63acb44add614761fcc17ec2.html

    原文地址:http://blog.csdn.net/gesanghuazgy/article/details/73467294

  • 相关阅读:
    【转】C#进阶系列——WebApi 接口参数不再困惑:传参详解
    微信内测小程序,苹果你怎么看?
    给你一个团队,你应该怎么管?
    ios修改产品名
    【原创】windows下搭建vue开发环境+IIS部署
    【原】“系统”重新启动
    Ubuntu root密码修改
    【转】网络编程常见问题总结
    Python + Selenium -Python 3.6 3.7 安装 PyKeyboard PyMouse
    python3 获取当前路径及os.path.dirname sys.path.dirname的使用
  • 原文地址:https://www.cnblogs.com/jimcsharp/p/7357858.html
Copyright © 2020-2023  润新知