zoukankan      html  css  js  c++  java
  • CentOS上安装MySql

    首先需要下载rpm:

    wget http://repo.mysql.com//mysql57-community-release-el7-9.noarch.rpm

    这个地址怎么来的呢?

    打开:http://dev.mysql.com/downloads/repo/yum/

    使用

    uname -r

    可以查看当前系统的el版本,这里我选了第一个

    选择直接下载

    复制上面的地址就可以了。

    下一步就是安装了:

    rpm -Uvh mysql57-community-release-el7-9.noarch.rpm
    yum install mysql-community-server

    时间比较长,耐心等待吧。

    安装完成后使用已下命令启动:

    service mysqld start

    使用下面命令可以查看mysql状态:

    service mysqld status

     然后需要修改root的密码,首先生成一个临时密码:

    grep 'temporary password' /var/log/mysqld.log

    使用上面的临时密码登录:

    mysql -uroot -p

    可以看到mysql的信息:

    此时设置新密码:

    ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';

    mysql8.0默认使用caching_sha2_password插件,修改密码使用下面命令

    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'xxx';

    这里密码有要求:至少一个大写字母,一个小写字母,一个数字,一个特殊符号,密码长度不小于8位。

     设置好密码后需要添加防火墙端口:

    firewall-cmd --zone=public --add-port=6379/tcp --permanent
    firewall-cmd --reload 

    此时在Windows上用工具进行连接,提示不允许连接,需要开启mysql的远程访问:

    先查看mysql的用户表:

    修改root的host:

    update user set host = '%' where user = 'root'
    service mysqld stop
    service mysqld start

    重新启动后从Windows可以连接了。

    接下来从Asp.Net Core中测试:

    连接mysql需要引用新的nuget包:

    Install-Package MySql.Data -Pre

    这时可以使用原生的ado.net来进行测试,这里直接使用dapper来测试,引入dapper包:

    Install-Package Dapper -Pre

    在数据库中添加User表:

    DROP TABLE IF EXISTS `User`;
    CREATE TABLE `User` (
      `Id` int(11) NOT NULL AUTO_INCREMENT,
      `Name` varchar(255) DEFAULT NULL,
      `CreateTime` datetime DEFAULT NULL,
      PRIMARY KEY (`Id`)
    ) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;
    INSERT INTO `User` VALUES ('1', 'Jerry', '2016-11-14 09:15:49');
    INSERT INTO `User` VALUES ('2', 'Tom', '2016-11-14 09:16:04');

    在Models中新建类:

    public class User
        {
            public int Id { get; set; }
            public string Name { get; set; }
            public DateTime CreateTime { get; set; }
        }

    新添控制器:

    public class UserController : Controller
        {
            // GET: /<controller>/
            public IActionResult Index()
            {
                return View();
            }
            private static MySql.Data.MySqlClient.MySqlConnection GetMySqlConnection(bool open = true,
                bool convertZeroDatetime = false, bool allowZeroDatetime = false)
            {
                string cs = "Server=10.255.17.82;Database=mydb;Uid=root;Pwd=yourpassword;";
                var csb = new MySql.Data.MySqlClient.MySqlConnectionStringBuilder(cs);
                csb.AllowZeroDateTime = allowZeroDatetime;
                csb.ConvertZeroDateTime = convertZeroDatetime;
                var conn = new MySql.Data.MySqlClient.MySqlConnection(csb.ConnectionString);
                if (open) conn.Open();
                return conn;
            }
            public IActionResult Add(string name)
            {
                int id = 0;
                using (var connection = GetMySqlConnection())
                {
                    connection.Execute("insert into User(name,createtime) values(@name,now());", new { name = name });
                    id = connection.QueryFirstOrDefault<int>("select id from User where name=@name;",new { name = name });
                }
                return Content(id.ToString());
            }
            public IActionResult Query(int id)
            {
                using (var connection = GetMySqlConnection())
                {
                    var name= connection.QueryFirstOrDefault<string>("select name from User where id=@Id;", new { Id = id });
                    return Content(name);
                }
            }
        }

    在浏览器中输入:

    http://localhost:XXXX/user/query/2

    即可看到输出名字“Tom”了。

    忘记密码可参考:http://www.jb51.net/article/77858.htm

  • 相关阅读:
    2017-3-28 javaScript DOM 操作
    2017-3-28 JavaScript 基础、语法
    2017-3-25 CSS 样式表(二)
    js判断文件是否存在的方法
    关于eclipse添加自动查找文件以及svn的插件
    关于jqgrid的一些使用
    ztree框架使用问题汇总
    bootstrap框架的使用
    UIButton 设置阴影效果
    xcode升级至9.0之后,新建xib报错: Safe Area Layout Guide Before IOS 9.0
  • 原文地址:https://www.cnblogs.com/uptothesky/p/6061193.html
Copyright © 2011-2022 走看看