1
0
-1
1 answer
- 210
Have you tried connecting to the database using HeidiSQL or mysql workbench?
- Haochen Yang
Hello Anas,
No I cannot connect to the database using HeidiSQL or mysql workbench.
The error is: "can't connect to MySQL server on '127.0.0.1' (10061)"
Add your comment...
Hi,
After I start Joget(Version v6-enterprise), I am not able to login. It says "Sorry, access is forbidden for security reasons. Please refresh the previous form before submitting it. Security Violation (Code 403)"
The logs are attached below.
According to Catalina logs, I guess Mysql is not correctly started. So I tried to manually start Mysql in Services, and I got this error "Windows could not start the Mysqlservice on Local Computer, ERROR 1067: the process terminated unexpectedly." Then I went to "C:\Joget-v6-Enterprise\mariadb-10.3.9-win32\bin", and tried command "mysqld", nothing happened. Lastly, I tried "mysql -u root -p", then I got "ERROR 2002 (HY000): Can't connect to MySQL server on 'localhost' (10061)"
Please help with this problem, thank you.
Localhost Log
Joget Log
Start Joget Server/Catalina Log:
== Starting MariaDB == == Starting Tomcat from .\apache-tomcat-8.5.23 == Using CATALINA_BASE: ".\apache-tomcat-8.5.23" Using CATALINA_HOME: ".\apache-tomcat-8.5.23" Using CATALINA_TMPDIR: ".\apache-tomcat-8.5.23\temp" Using JRE_HOME: ".\jre1.8.0_112" Using CLASSPATH: ".\apache-tomcat-8.5.23\bin\bootstrap.jar;.\apache-tomcat-8.5.23\bin\tomcat-juli.jar" Java HotSpot(TM) Client VM warning: ignoring option MaxPermSize=512m; support was removed in 8.0 07-Feb-2022 10:55:36.978 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version: Apache Tomcat/8.5.23 07-Feb-2022 10:55:36.978 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server built: Sep 28 2017 10:30:11 UTC 07-Feb-2022 10:55:36.978 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server number: 8.5.23.0 07-Feb-2022 10:55:36.978 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Name: Windows NT (unknown) 07-Feb-2022 10:55:36.978 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Version: 10.0 07-Feb-2022 10:55:36.978 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Architecture: x86 07-Feb-2022 10:55:36.978 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Java Home: C:\Joget-v6-Enterprise\jre1.8.0_112 07-Feb-2022 10:55:36.978 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Version: 1.8.0_112-b15 07-Feb-2022 10:55:36.978 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Vendor: Oracle Corporation 07-Feb-2022 10:55:36.978 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE: C:\Joget-v6-Enterprise\apache-tomcat-8.5.23 07-Feb-2022 10:55:36.978 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME: C:\Joget-v6-Enterprise\apache-tomcat-8.5.23 07-Feb-2022 10:55:36.978 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.config.file=.\apache-tomcat-8.5.23\conf\logging.properties 07-Feb-2022 10:55:36.978 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager 07-Feb-2022 10:55:36.978 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -XX:MaxPermSize=512m 07-Feb-2022 10:55:36.978 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Xmx1024M 07-Feb-2022 10:55:36.994 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dwflow.home=./wflow/ 07-Feb-2022 10:55:36.994 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -XX:+UseConcMarkSweepGC 07-Feb-2022 10:55:36.994 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -javaagent:./wflow/aspectjweaver-1.8.5.jar 07-Feb-2022 10:55:36.994 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djdk.tls.ephemeralDHKeySize=2048 07-Feb-2022 10:55:36.994 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.protocol.handler.pkgs=org.apache.catalina.webresources 07-Feb-2022 10:55:36.994 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.base=.\apache-tomcat-8.5.23 07-Feb-2022 10:55:36.994 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.home=.\apache-tomcat-8.5.23 07-Feb-2022 10:55:36.994 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.io.tmpdir=.\apache-tomcat-8.5.23\temp 07-Feb-2022 10:55:36.994 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: [C:\Joget-v6-Enterprise\jre1.8.0_112\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\130\Tools\Binn\;C:\Program Files\apache-maven-3.6.0\bin;C:\Program Files (x86)\Microsoft SQL Server\140\Tools\Binn\;C:\Program Files\Microsoft SQL Server\140\Tools\Binn\;C:\Program Files\Microsoft SQL Server\140\DTS\Binn\;C:\Program Files (x86)\Microsoft SQL Server\Client SDK\ODBC\130\Tools\Binn\;C:\Program Files (x86)\Microsoft SQL Server\140\DTS\Binn\;C:\Program Files (x86)\Microsoft SQL Server\140\Tools\Binn\ManagementStudio\;C:\PHP;C:\Users\blake.yang\AppData\Local\Microsoft\WindowsApps;;.] 07-Feb-2022 10:55:37.103 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["http-nio-8080"] 07-Feb-2022 10:55:37.197 INFO [main] org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Using a shared selector for servlet write/read 07-Feb-2022 10:55:37.197 INFO [main] org.apache.catalina.startup.Catalina.load Initialization processed in 513 ms 07-Feb-2022 10:55:37.228 INFO [main] org.apache.catalina.core.StandardService.startInternal Starting service [Catalina] 07-Feb-2022 10:55:37.228 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet Engine: Apache Tomcat/8.5.23 07-Feb-2022 10:55:37.244 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployWAR Deploying web application archive [C:\Joget-v6-Enterprise\apache-tomcat-8.5.23\webapps\jw.war] 07-Feb-2022 10:55:51.353 INFO [localhost-startStop-1] org.apache.jasper.servlet.TldScanner.scanJars At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time. INFO 07 Feb 2022 10:55:57 org.joget.commons.util.SetupManager - Using base directory: ./wflow/ INFO 07 Feb 2022 10:56:00 org.joget.commons.util.DynamicDataSource - profileName=default, url=jdbc:mysql://localhost:3307/jwdb?characterEncoding=UTF-8, user=root 07-Feb-2022 10:56:15.492 SEVERE [localhost-startStop-1] org.apache.tomcat.jdbc.pool.ConnectionPool.init Unable to create initial connections of pool. java.sql.SQLNonTransientConnectionException: Could not connect to localhost:3307: Connection reset at org.mariadb.jdbc.internal.util.exceptions.ExceptionMapper.get(ExceptionMapper.java:156) at org.mariadb.jdbc.internal.util.exceptions.ExceptionMapper.getException(ExceptionMapper.java:118) at org.mariadb.jdbc.internal.util.exceptions.ExceptionMapper.throwException(ExceptionMapper.java:92) at org.mariadb.jdbc.Driver.connect_aroundBody0(Driver.java:111) at org.mariadb.jdbc.Driver.connect_aroundBody1$advice(Driver.java:151) at org.mariadb.jdbc.Driver.connect(Driver.java:1) at com.mysql.jdbc.Driver.connect_aroundBody0(Driver.java:29) at com.mysql.jdbc.Driver.connect_aroundBody1$advice(Driver.java:151) at com.mysql.jdbc.Driver.connect(Driver.java:1) at org.apache.tomcat.jdbc.pool.PooledConnection.connectUsingDriver(PooledConnection.java:310) at org.apache.tomcat.jdbc.pool.PooledConnection.connect(PooledConnection.java:203) at org.apache.tomcat.jdbc.pool.ConnectionPool.createConnection(ConnectionPool.java:718) at org.apache.tomcat.jdbc.pool.ConnectionPool.borrowConnection(ConnectionPool.java:650) at org.apache.tomcat.jdbc.pool.ConnectionPool.init(ConnectionPool.java:468) at org.apache.tomcat.jdbc.pool.ConnectionPool.<init>(ConnectionPool.java:143) at org.apache.tomcat.jdbc.pool.DataSourceProxy.pCreatePool(DataSourceProxy.java:118) at org.apache.tomcat.jdbc.pool.DataSourceProxy.createPool(DataSourceProxy.java:107) at org.apache.tomcat.jdbc.pool.DataSourceProxy.getConnection(DataSourceProxy.java:131) at org.joget.commons.util.DynamicDataSource.getConnection_aroundBody0(DynamicDataSource.java:48) at org.joget.commons.util.DynamicDataSource$AjcClosure1.run(DynamicDataSource.java:1) at org.aspectj.runtime.reflect.JoinPointImpl.proceed(JoinPointImpl.java:149) at org.joget.commons.util.AnalyzerAspect.analyzeDbcpOpenConnections(AnalyzerAspect.java:166) at org.joget.commons.util.DynamicDataSource.getConnection(DynamicDataSource.java:20) at org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.getConnection(DatasourceConnectionProviderImpl.java:139) at org.hibernate.engine.jdbc.internal.JdbcServicesImpl$ConnectionProviderJdbcConnectionAccess.obtainConnection(JdbcServicesImpl.java:279) at org.hibernate.engine.jdbc.internal.JdbcServicesImpl.configure(JdbcServicesImpl.java:124) at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:111) at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:234) at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:206) at org.hibernate.cfg.Configuration.buildTypeRegistrations(Configuration.java:1887) at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1845) at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1930) at org.springframework.orm.hibernate4.LocalSessionFactoryBuilder.buildSessionFactory(LocalSessionFactoryBuilder.java:372) at org.springframework.orm.hibernate4.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:454) at org.springframework.orm.hibernate4.LocalSessionFactoryBean.afterPropertiesSet(LocalSessionFactoryBean.java:439) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1689) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1627) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:553) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:481) at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:312) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:308) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197) at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:351) at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:108) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1534) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1281) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:551) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:481) at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:312) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:308) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197) at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:351) at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:108) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1534) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1281) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:551) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:481) at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:312) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:308) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202) at org.springframework.context.support.AbstractApplicationContext.initMessageSource(AbstractApplicationContext.java:713) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:531) at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:443) at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:325) at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:107) at org.joget.commons.spring.web.CustomContextLoaderListener.contextInitialized(CustomContextLoaderListener.java:31) at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4745) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5207) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:752) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:728) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:734) at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:988) at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1860) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) Caused by: java.sql.SQLException: Could not connect to localhost:3307: Connection reset at org.mariadb.jdbc.internal.protocol.AbstractConnectProtocol.handleConnectionPhases(AbstractConnectProtocol.java:708) at org.mariadb.jdbc.internal.protocol.AbstractConnectProtocol.connect(AbstractConnectProtocol.java:403) at org.mariadb.jdbc.internal.protocol.AbstractConnectProtocol.connectWithoutProxy(AbstractConnectProtocol.java:1020) at org.mariadb.jdbc.internal.util.Utils.retrieveProxy(Utils.java:483) at org.mariadb.jdbc.Driver.connect_aroundBody0(Driver.java:106) ... 78 more Caused by: java.net.SocketException: Connection reset at java.net.SocketInputStream.read(SocketInputStream.java:209) at java.net.SocketInputStream.read(SocketInputStream.java:141) at java.io.BufferedInputStream.fill(BufferedInputStream.java:246) at java.io.BufferedInputStream.read1(BufferedInputStream.java:286) at java.io.BufferedInputStream.read(BufferedInputStream.java:345) at org.mariadb.jdbc.internal.io.input.StandardPacketInputStream.getPacketArray(StandardPacketInputStream.java:244) at org.mariadb.jdbc.internal.io.input.StandardPacketInputStream.getPacket(StandardPacketInputStream.java:214) at org.mariadb.jdbc.internal.com.read.ReadInitialHandShakePacket.<init>(ReadInitialHandShakePacket.java:88) at org.mariadb.jdbc.internal.protocol.AbstractConnectProtocol.handleConnectionPhases(AbstractConnectProtocol.java:655) ... 82 more ERROR 07 Feb 2022 10:56:15 org.joget.commons.spring.web.CustomContextLoaderListener - ===== Error initializing WebApplicationContext ===== INFO 07 Feb 2022 10:56:15 org.displaytag.filter.ResponseOverrideFilter - Filter initialized. Response buffering is enabled 07-Feb-2022 10:56:15.961 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployWAR Deployment of web application archive [C:\Joget-v6-Enterprise\apache-tomcat-8.5.23\webapps\jw.war] has finished in [38,717] ms 07-Feb-2022 10:56:15.976 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployWAR Deploying web application archive [C:\Joget-v6-Enterprise\apache-tomcat-8.5.23\webapps\jwdesigner.war] 07-Feb-2022 10:56:17.086 INFO [localhost-startStop-1] org.apache.jasper.servlet.TldScanner.scanJars At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time. 07-Feb-2022 10:56:17.164 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployWAR Deployment of web application archive [C:\Joget-v6-Enterprise\apache-tomcat-8.5.23\webapps\jwdesigner.war] has finished in [1,188] ms 07-Feb-2022 10:56:17.164 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [C:\Joget-v6-Enterprise\apache-tomcat-8.5.23\webapps\docs] 07-Feb-2022 10:56:17.195 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [C:\Joget-v6-Enterprise\apache-tomcat-8.5.23\webapps\docs] has finished in [31] ms 07-Feb-2022 10:56:17.195 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [C:\Joget-v6-Enterprise\apache-tomcat-8.5.23\webapps\examples] 07-Feb-2022 10:56:17.445 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [C:\Joget-v6-Enterprise\apache-tomcat-8.5.23\webapps\examples] has finished in [250] ms 07-Feb-2022 10:56:17.445 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [C:\Joget-v6-Enterprise\apache-tomcat-8.5.23\webapps\host-manager] 07-Feb-2022 10:56:17.476 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [C:\Joget-v6-Enterprise\apache-tomcat-8.5.23\webapps\host-manager] has finished in [31] ms 07-Feb-2022 10:56:17.476 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [C:\Joget-v6-Enterprise\apache-tomcat-8.5.23\webapps\images] 07-Feb-2022 10:56:17.508 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [C:\Joget-v6-Enterprise\apache-tomcat-8.5.23\webapps\images] has finished in [32] ms 07-Feb-2022 10:56:17.508 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [C:\Joget-v6-Enterprise\apache-tomcat-8.5.23\webapps\manager] 07-Feb-2022 10:56:17.523 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [C:\Joget-v6-Enterprise\apache-tomcat-8.5.23\webapps\manager] has finished in [15] ms 07-Feb-2022 10:56:17.523 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [C:\Joget-v6-Enterprise\apache-tomcat-8.5.23\webapps\ROOT] 07-Feb-2022 10:56:17.539 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [C:\Joget-v6-Enterprise\apache-tomcat-8.5.23\webapps\ROOT] has finished in [16] ms 07-Feb-2022 10:56:17.554 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio-8080"] 07-Feb-2022 10:56:17.570 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 40365 ms